updated documentation
[xboard.git] / manual / xboard.txt
1 \r
2
3    \r
4 INFO-DIR-SECTION Games\r
5 START-INFO-DIR-ENTRY\r
6 * xboard: (xboard).         An X Window System graphical chessboard.\r
7 END-INFO-DIR-ENTRY\r
8    \r \r
9
10 Introduction
11 ************
12
13 \r \r XBoard is a graphical chessboard that can serve as a\r user
14 interface to chess engines (such as GNU Chess), the\r Internet Chess
15 Servers,\r electronic mail correspondence chess, or your own collection
16 of saved games.\r \r This manual documents version 4.4.0j of XBoard.\r
17 \r \r
18
19 1 Major modes
20 *************
21
22 \r XBoard always runs in one of four major modes.  You select the\r
23 major mode from the command line when you start up XBoard.\r \r
24 xboard [options]
25      As an interface to GNU Chess or another chess engine running on
26      your\r machine, XBoard lets you play a game against the machine,\r
27      set up arbitrary positions, force variations, watch a game between
28      two\r chess engines, interactively analyze your stored games or
29      set up and\r analyze arbitrary positions.  (Note: Not all chess
30      engines support\r analysis.)\r
31
32 xboard -ics -icshost hostname [options]
33      As Internet Chess Server (ICS) interface, XBoard\r lets you play
34      against other ICS users, observe games\r they are playing, or
35      review games that have recently finished.  Most\r of the ICS
36      "wild" chess variants are supported, including bughouse.\r
37
38 xboard -ncp [options]
39      XBoard can also be used simply\r as an electronic chessboard to
40      play through games. It will read and\r write game files and allow
41      you to play through variations\r manually. You can use it to
42      browse games off the net or review games\r you have saved.  These
43      features are also available in the other modes.\r
44
45 |pxboard
46      If you want to pipe games into XBoard, use the supplied shell\r
47      script `pxboard'.  For example, from the news reader `xrn',\r find
48      a message with one or more games in it, click the Save button,\r
49      and type `|pxboard' as the file name.\r
50
51 cmail [options]
52      As an interface to electronic mail correspondence chess, XBoard\r
53      works with the cmail program. See *note CMail:: below for\r
54      instructions.\r
55    \r
56
57 2 Menus, buttons, and keys
58 **************************
59
60 \r To move a piece, you can drag it with the left mouse button, or you\r
61 can click the left mouse button once on the piece, then once more on\r
62 the destination square.  To drop a new piece on a square (when\r
63 applicable), press the middle or the right mouse button over the\r
64 square and select from the popup menu.  In cases where you can drop\r
65 either a white or black piece, use the middle button (or shift+right)\r
66 for white and the right button (or shift+middle) for black.  When you\r
67 are playing a bughouse game on an Internet Chess Server, a list of the\r
68 offboard pieces that each player has available is shown in the window\r
69 title after the player's name; in addition, the piece menus show the\r
70 number of pieces available of each type. From version 4.3.14 on, it is\r
71 also possible in crazyhouse, bughouse or shogi to dag and drop pieces\r
72 to the board from the holdings squares displayed next to the board.\r \r
73 All other XBoard commands are available from the menu bar. The most\r
74 frequently used commands also have shortcut keys or on-screen buttons.\r
75 \r When XBoard is iconized, its graphical icon is a white knight if\r
76 it is White's turn to move, a black knight if it is Black's turn.  See\r
77 Iconize in *note Keys:: below if you have problems getting this\r
78 feature to work.\r \r \r
79
80 2.1 File Menu
81 =============
82
83 New Game
84      Resets XBoard and the chess engine to the beginning of a new
85      chess\r game. The `r' key is a keyboard equivalent. In Internet
86      Chess\r Server mode, clears the current state of XBoard, then\r
87      resynchronizes with the ICS by sending a refresh command. If you
88      want to\r stop playing, observing, or examining an ICS game, use
89      an\r appropriate command from the Action menu, not `New Game'.\r
90      *Note Action Menu::.\r
91
92 New Shuffle Game
93      Similar to `New Game', but allows you to specify a particular
94      initial position \r (according to a standardized numbering
95      system)\r in chess variants which use randomized opening positions
96      (e.g. Chess960).\r The selected opening position will persistently
97      be chosen on any following\r New Game command until you use this
98      menu to select another. Selecting\r position number -1 will
99      produce a newly randomized position on any new game.\r Using this
100      menu item in variants that normally do not shuffle their opening
101      position\r does cause these variants to become shuffle variants
102      until you use the\r `New Shuffle Game' menu to explicitly switch
103      the randomization off,\r or select a new variant.\r
104
105 New Variant
106      Allows you to select a new chess variant in non-ICS mode. \r (In
107      ICS play, the ICS is responsible for deciding which variant will
108      be played,\r and XBoard adapts autmatically.) If you play with an
109      engine, the engine must\r be able to play the selected variant, or
110      the command will be ignored.\r XBoard supports all major variants,
111      such as xiangqi, shogi, chess, chess960,\r Capablanca Chess,
112      shatranj, crazyhous, bughouse.\r
113
114 Load Game
115      Plays a game from a record file. The `g' key is a keyboard
116      equivalent.\r A popup dialog prompts you for the file name. If the
117      file contains more\r than one game, a second popup dialog\r
118      displays a list of games (with information drawn from their PGN
119      tags, if\r any), and you can select the one you want.
120      Alternatively, you can load the\r Nth game in the file directly,
121      by typing the number `N' after the\r file name, separated by a
122      space.\r \r The game file parser will accept PGN (portable game
123      notation),\r or in fact almost any file that contains moves in
124      algebraic\r notation. \r Notation of the form `P@f7'\r is accepted
125      for piece-drops in bughouse games;\r this is a nonstandard
126      extension to PGN.\r If the file includes a PGN position (FEN tag),
127      or an old-style\r XBoard position diagram bracketed by `[--' and
128      `--]'\r before the first move, the game starts from that position.
129      Text\r enclosed in parentheses, square brackets, or curly braces
130      is assumed to\r be commentary and is displayed in a pop-up window.
131      Any other\r text in the file is ignored. PGN variations (enclosed
132      in\r parentheses) are treated as comments; XBoard is not able to
133      walk\r variation trees.\r The nonstandard PGN tag [Variant
134      "varname"] functions similarly to\r the -variant command-line
135      option (see below), allowing games in certain chess\r variants to
136      be loaded.  There is also a heuristic to \r recognize chess
137      variants from the Event tag, by looking for the strings\r that the
138      Internet Chess Servers put there when saving variant ("wild")
139      games.\r
140
141 Load Next Game
142      Loads the next game from the last game record file you loaded.\r
143      The shifted `N' key is a keyboard equivalent.\r
144
145 Load Previous Game
146      Loads the previous game from the last game record file you\r
147      loaded.  The shifted `P' key is a keyboard equivalent.\r Not
148      available if the last game was loaded from a pipe.\r
149
150 Reload Same Game
151      Reloads the last game you loaded.\r Not available if the last game
152      was loaded from a pipe.\r
153
154 Save Game
155      Appends a record of the current game to a file.\r A popup dialog\r
156      prompts you for the file name. If the game did not begin with\r
157      the standard starting position, the game file includes the\r
158      starting position used. Games are saved in the PGN (portable\r
159      game notation) format, unless the oldSaveStyle option is true,\r
160      in which case they are saved in an older format that is specific\r
161      to XBoard. Both formats are human-readable, and both can be\r read
162      back by the `Load Game' command.\r Notation of the form `P@f7'\r
163      is accepted for piece-drops in bughouse games;\r this is a
164      nonstandard extension to PGN.\r
165
166 Copy Game
167      Copies a record of the current game to an internal clipboard in
168      PGN\r format and sets the X selection to the game text.  The game
169      can be\r pasted to another application (such as a text editor or
170      another copy\r of XBoard) using that application's paste command.
171      In many X\r applications, such as xterm and emacs, the middle
172      mouse button can be\r used for pasting; in XBoard, you must use
173      the Paste Game command.\r
174
175 Paste Game
176      Interprets the current X selection as a game record and loads it,
177      as\r with Load Game.\r
178
179 Load Position
180      Sets up a position from a position file.  A popup dialog prompts\r
181      you for the file name. If the file contains more than one saved\r
182      position, and you want to load the Nth one, type the number N\r
183      after the file name, separated by a space. Position files must\r
184      be in FEN (Forsythe-Edwards notation), or in the format that the\r
185      Save Position command writes when oldSaveStyle is turned on.\r
186
187 Load Next Position
188      Loads the next position from the last position file you loaded.\r
189
190 Load Previous Position
191      Loads the previous position from the last position file you\r
192      loaded.  Not available if the last position was loaded from a
193      pipe.\r
194
195 Reload Same Position
196      Reloads the last position you loaded.\r Not available if the last
197      position was loaded from a pipe.\r
198
199 Save Position
200      Appends a diagram of the current position to a file.\r A popup
201      dialog\r prompts you for the file name. Positions are saved in\r
202      FEN (Forsythe-Edwards notation) format unless the `oldSaveStyle'\r
203      option is true, in which case they are saved in an older,\r
204      human-readable format that is specific to XBoard. Both formats\r
205      can be read back by the `Load Position' command.\r
206
207 Copy Position
208      Copies the current position to an internal clipboard in FEN format
209      and\r sets the X selection to the position text.  The position can
210      be pasted\r to another application (such as a text editor or
211      another copy of\r XBoard) using that application's paste command.
212      In many X\r applications, such as xterm and emacs, the middle
213      mouse button can be\r used for pasting; in XBoard, you must use
214      the Paste Position command.\r
215
216 Paste Position
217      Interprets the current X selection as a FEN position and loads it,
218      as\r with Load Position.\r
219
220 Mail Move
221 Reload CMail Message
222      See *note CMail::.\r
223
224 Exit
225      Exits from XBoard. The shifted `Q' key is a keyboard equivalent.\r
226 \r
227
228 2.2 Mode Menu
229 =============
230
231 Machine White
232      Tells the chess engine to play White.\r
233
234 Machine Black
235      Tells the chess engine to play Black.\r
236
237 Two Machines
238      Plays a game between two chess engines.\r
239
240 Analysis Mode
241      XBoard tells the chess engine to start analyzing the current
242      game/position\r and shows you the analysis as you move pieces
243      around.\r Note: Some chess engines do not support Analysis mode.\r
244      \r To set up a position to analyze, you do the following:\r \r 1.
245      Select Edit Position from the Mode Menu\r \r 2. Set up the
246      position.  Use the middle and right buttons to\r bring up the
247      white and black piece menus.\r \r 3. When you are finished, click
248      on either the Black or White\r clock to tell XBoard which side
249      moves first.\r \r 4. Select Analysis Mode from the Mode Menu to
250      start the analysis.\r \r The analysis function can also be used
251      when observing games on an ICS\r with an engine loaded (zippy
252      mode); the engine then will analyse\r the positions as they occur
253      in the observed game.\r
254
255 Analyze File
256      This option lets you load a game from a file (PGN, XBoard format,
257      etc.)\r and analyze it. When you select this menu item, a popup
258      window appears\r and asks for a filename to load.\r If the file
259      contains multiple games, another popup appears that lets\r you
260      select which game you wish to analyze.\r After a game is loaded,
261      use the XBoard arrow buttons to step\r forwards/backwards through
262      the game and watch the analysis.\r Note: Some chess engines do not
263      support Analysis mode.\r
264
265 ICS Client
266      This is the normal mode when XBoard\r is connected to a chess
267      server.  If you have moved into\r Edit Game or Edit Position mode,
268      you can select this option to get out.\r \r To use xboard in ICS
269      mode, run it in the foreground with the -ics\r option, and use the
270      terminal you started it from to type commands and\r receive text
271      responses from the chess server.  See\r *note Chess Servers::
272      below for more information.\r \r XBoard activates some special
273      position/game editing features when you\r use the `examine' or
274      `bsetup' commands on ICS and you have\r `ICS Client' selected on
275      the Mode menu.  First, you can issue the\r ICS position-editing
276      commands with the mouse.  Move pieces by dragging\r with mouse
277      button 1.  To drop a new piece on a square, press mouse\r button 2
278      or 3 over the square.  This brings up a menu of white pieces\r
279      (button 2) or black pieces (button 3).  Additional menu choices
280      let\r you empty the square or clear the board.  Click on the White
281      or Black\r clock to set the side to play.  You cannot set the side
282      to play or\r drag pieces to arbitrary squares while examining on
283      ICC, but you can\r do so in `bsetup' mode on FICS.  In addition,
284      the menu commands\r `Forward', `Backward', `Pause', and `Stop
285      Examining'\r have special functions in this mode; see below.\r
286
287 Edit Game
288      Allows you to make moves for both Black and White, and to change\r
289      moves after backing up with the `Backward' command. The clocks do\r
290      not run.\r \r In chess engine mode, the chess engine continues to
291      check moves for legality\r but does not participate in the game.
292      You can bring the chess engine\r into the game by selecting
293      `Machine White', `Machine Black',\r or `Two Machines'.\r \r In ICS
294      mode, the moves are not sent to the ICS: `Edit Game' takes\r
295      XBoard out of ICS Client mode and lets you edit games locally.\r
296      If you want to edit games on ICS in a way that other ICS users\r
297      can see, use the ICS `examine' command or start an ICS match\r
298      against yourself.\r
299
300 Edit Position
301      Lets you set up an arbitrary board position.\r Use mouse button 1
302      to drag pieces to new squares, or to delete a piece\r by dragging
303      it off the board or dragging an empty square on top of it.\r To
304      drop a new piece on a square, press mouse button 2 or 3 over the\r
305      square. This brings up a menu of white pieces (button 2) or\r
306      black pieces (button 3). Additional menu choices let you empty
307      the\r square or clear the board. You can set the side to play next
308      by\r clicking on the word White or Black at the top of the
309      screen.\r Selecting `Edit Position' causes XBoard to discard\r all
310      remembered moves in the current game.\r \r In ICS mode, changes
311      made to the position by `Edit Position' are\r not sent to the ICS:
312      `Edit Position' takes XBoard out of\r `ICS Client' mode and lets
313      you edit positions locally. If you want to\r edit positions on ICS
314      in a way that other ICS users can see, use\r the ICS `examine'
315      command, or start an ICS match against yourself.\r (See also the
316      ICS Client topic above.)\r
317
318 Training
319      Training mode lets you interactively guess the moves of a game for
320      one\r of the players. You guess the next move of the game by
321      playing the\r move on the board. If the move played matches the
322      next move of the\r game, the move is accepted and the opponent's
323      response is autoplayed.\r If the move played is incorrect, an
324      error message is displayed.  You\r can select this mode only while
325      loading a game (that is, after\r selecting `Load Game' from the
326      File menu).  While XBoard is in \r `Training' mode, the navigation
327      buttons are disabled.\r
328
329 Show Game List
330      Shows or hides the list of games generated by the last `Load
331      Game'\r command.\r
332
333 Show Move History
334      Shows or hides a list of moves of the current game.\r This list
335      allows you to move the display to any earlier position in the
336      game\r by clicking on the corresponding move.\r
337
338 Show Engine Output
339      Shows or hides a window in which the thinking output of any loaded
340      engines\r is displayed.\r
341
342 Edit Tags
343      Lets you edit the PGN (portable game notation)\r tags for the
344      current game. After editing, the tags must still conform to\r the
345      PGN tag syntax:\r \r
346           <tag-section> ::= <tag-pair> <tag-section>\r
347                                   <empty>\r
348           <tag-pair> ::= [ <tag-name> <tag-value> ]\r
349           <tag-name> ::= <identifier>\r
350           <tag-value> ::= <string>\r
351      See the PGN Standard for full details. Here is an example:\r \r
352           [Event "Portoroz Interzonal"]\r
353           [Site "Portoroz, Yugoslavia"]\r
354           [Date "1958.08.16"]\r
355           [Round "8"]\r
356           [White "Robert J. Fischer"]\r
357           [Black "Bent Larsen"]\r
358           [Result "1-0"]\r
359      Any characters that do not match this syntax are silently ignored.
360      Note that\r the PGN standard requires all games to have at least
361      the seven tags shown\r above. Any that you omit will be filled in
362      by XBoard\r with `?' (unknown value), or `-' (inapplicable
363      value).\r
364
365 Edit Comment
366      Adds or modifies a comment on the current position. Comments are\r
367      saved by `Save Game' and are displayed by `Load Game',\r
368      `Forward', and `Backward'.\r
369
370 ICS Input Box
371      If this option is set in ICS mode,\r XBoard\r creates an extra
372      window that you can use for typing in ICS commands.\r The input
373      box is especially useful if you want to type in something long or
374      do\r some editing on your input, because output from ICS doesn't
375      get mixed\r in with your typing as it would in the main terminal
376      window.\r
377
378 Pause
379      Pauses updates to the board, and if you are playing against a
380      chess engine,\r also pauses your clock. To continue, select
381      `Pause' again, and the\r display will automatically update to the
382      latest position.\r The `P' button and keyboard `p' key are
383      equivalents.\r \r If you select Pause when you are playing against
384      a chess engine and\r it is not your move, the chess engine's
385      clock\r will continue to run and it will eventually make a move,
386      at which point\r both clocks will stop. Since board updates are
387      paused, however,\r you will not see the move until you exit from
388      Pause mode (or select Forward).\r This behavior is meant to
389      simulate adjournment with a sealed move.\r \r If you select Pause
390      while you are observing or examining a game on a\r chess server,
391      you can step backward and forward in the current history\r of the
392      examined game without affecting the other observers and\r
393      examiners, and without having your display jump forward to the
394      latest\r position each time a move is made. Select Pause again to
395      reconnect\r yourself to the current state of the game on ICS.\r \r
396      If you select `Pause' while you are loading a game, the game
397      stops\r loading. You can load more moves manually by selecting
398      `Forward', or\r resume automatic loading by selecting `Pause'
399      again.\r
400 \r
401
402 2.3 Action Menu
403 ===============
404
405 Accept
406      Accepts a pending match offer. If there is more than one offer\r
407      pending, you will have to type in a more specific command\r
408      instead of using this menu choice.\r
409
410 Decline
411      Declines a pending offer (match, draw, adjourn, etc.). If there\r
412      is more than one offer pending, you will have to type in a more\r
413      specific command instead of using this menu choice.\r
414
415 Call Flag
416      Calls your opponent's flag, claiming a win on time, or claiming\r
417      a draw if you are both out of time. You can also call your\r
418      opponent's flag by clicking on his clock or by pressing the\r
419      keyboard `t' key.\r
420
421 Draw
422      Offers a draw to your opponent, accepts a pending draw offer\r
423      from your opponent, or claims a draw by repetition or the 50-move\r
424      rule, as appropriate. The `d' key is a keyboard equivalent.\r
425
426 Adjourn
427      Asks your opponent to agree to adjourning the current game, or\r
428      agrees to a pending adjournment offer from your opponent.\r
429
430 Abort
431      Asks your opponent to agree to aborting the current game, or\r
432      agrees to a pending abort offer from your opponent. An aborted\r
433      game ends immediately without affecting either player's rating.\r
434
435 Resign
436      Resigns the game to your opponent. The shifted `R' key is a\r
437      keyboard equivalent.\r
438
439 Stop Observing
440      Ends your participation in observing a game, by issuing the ICS\r
441      observe command with no arguments. ICS mode only.\r
442
443 Stop Examining
444      Ends your participation in examining a game, by issuing the ICS\r
445      unexamine command. ICS mode only.\r
446 \r
447
448 2.4 Step Menu
449 =============
450
451 Backward
452      Steps backward through a series of remembered moves.\r The `[<]'
453      button and the `b' key are equivalents,\r as is turning the mouse
454      wheel towards you.\r In addition, pressing the Control key steps
455      back one move, and releasing\r it steps forward again.\r \r In
456      most modes, `Backward' only lets you look back at old positions;\r
457      it does not retract moves. This is the case if you are playing
458      against\r a chess engine, playing or observing a game on an ICS,
459      or loading a game.\r If you select `Backward' in any of these
460      situations, you will not\r be allowed to make a different move.
461      Use `Retract Move' or\r `Edit Game' if you want to change past
462      moves.\r \r If you are examining an ICS game, the behavior of
463      `Backward'\r depends on whether XBoard is in Pause mode. If Pause
464      mode is\r off, `Backward' issues the ICS backward command, which
465      backs up\r everyone's view of the game and allows you to make a
466      different\r move. If Pause mode is on, `Backward' only backs up
467      your local\r view.\r
468
469 Forward
470      Steps forward through a series of remembered moves (undoing the\r
471      effect of `Backward') or forward through a game file. The\r `[>]'
472      button and the `f' key are equivalents,\r as is turning the mouse
473      wheel away from you.\r \r If you are examining an ICS game, the
474      behavior of Forward\r depends on whether XBoard is in Pause mode.
475      If Pause mode is\r off, `Forward' issues the ICS forward command,
476      which moves\r everyone's view of the game forward along the
477      current line. If\r Pause mode is on, `Forward' only moves your
478      local view forward,\r and it will not go past the position that
479      the game was in when\r you paused.\r
480
481 Back to Start
482      Jumps backward to the first remembered position in the game.\r The
483      `[<<]' button and the shifted `B' key are equivalents.\r \r In
484      most modes, Back to Start only lets you look back at old\r
485      positions; it does not retract moves. This is the case if you\r
486      are playing against a local chess engine, playing or observing a
487      game on\r a chess server, or loading a game. If you select `Back
488      to Start' in any\r of these situations, you will not be allowed to
489      make different\r moves. Use `Retract Move' or `Edit Game' if you
490      want to change past\r moves; or use Reset to start a new game.\r \r
491      If you are examining an ICS game, the behavior of `Back to\r
492      Start' depends on whether XBoard is in Pause mode. If Pause mode\r
493      is off, `Back to Start' issues the ICS `backward 999999'\r
494      command, which backs up everyone's view of the game to the start
495      and\r allows you to make different moves. If Pause mode is on,
496      `Back\r to Start' only backs up your local view.\r
497
498 Forward to End
499      Jumps forward to the last remembered position in the game. The\r
500      `[>>]' button and the shifted `F' key are equivalents.\r \r If you
501      are examining an ICS game, the behavior of `Forward to\r End'
502      depends on whether XBoard is in Pause mode. If Pause mode\r is
503      off, `Forward to End' issues the ICS `forward 999999'\r command,
504      which moves everyone's view of the game forward to the end of\r
505      the current line. If Pause mode is on, `Forward to End' only
506      moves\r your local view forward, and it will not go past the
507      position\r that the game was in when you paused.\r
508
509 Revert
510      If you are examining an ICS game and Pause mode is off, issues\r
511      the ICS command `revert'.\r
512
513 Truncate Game
514      Discards all remembered moves of the game beyond the current\r
515      position. Puts XBoard into `Edit Game' mode if it was not there\r
516      already.\r
517
518 Move Now
519      Forces the chess engine to move immediately. Chess engine mode
520      only.\r
521
522 Retract Move
523      Retracts your last move. In chess engine mode, you can do this
524      only\r after the chess engine has replied to your move; if the
525      chess engine is still\r thinking, use `Move Now' first. In ICS
526      mode, `Retract Move'\r issues the command `takeback 1' or
527      `takeback 2'\r depending on whether it is your opponent's move or
528      yours.\r
529
530 Adjudicate to White
531 Adjudicate to Black
532 Adjudicate Draw
533      Terminate an ongoing game in Two-Machines mode (including match
534      mode),\r with as result a win for white, for black, or a draw,
535      repsectively.\r The PGN file of the game will accompany the result
536      string\r by the comment "user adjudication".\r
537 \r
538
539 2.5 Options Menu
540 ================
541
542 Flip View
543      Inverts your view of the chess board for the duration of the\r
544      current game. Starting a new game returns the board to normal.\r
545      The `v' key is a keyboard equivalent.\r
546
547 Adjudications
548      Pops up a sub-menu where you can enable or disable various
549      adjudications\r that XBoard can perform in engine-engine games.\r
550      You can instruct XBoard to detect and terminate the game on
551      checkmate\r or stalemate, even if the engines would not do so, to
552      verify engine\r result claims (forfeiting engines that make false
553      claims), rather than\r naively following the engine, to declare
554      draw on posititions\r which can never be won for lack of mating
555      material, (e.g. KBK),\r or which are impossble to win unless the
556      opponent seeks its own demise \r (e.g. KBKN).\r For these
557      adjudications to work, `Test Legality' should be switched on.\r It
558      is also possible to insruct XBoard to enforce a 50-move or
559      3-fold-repeat\r rule and automtically declare draw (after a
560      user-adjustable number of moves\r or repeats) even if the engines
561      are prepared to go on.\r It is also possible to have XBoard
562      declare draw on games that seem to drag on \r forever, or
563      adjudicate a loss if both engines agree (for 3 cosecutive moves)
564      that one\r of them is behind more than a user-adjustable score
565      threshold.\r For the latter adjudication to work, XBoard should be
566      able to properly understand\r the engine's scores. To faclitate
567      the latter, you can inform xboard here if\r the engines report
568      scores from the viewpoint of white, or from that of their own
569      color.\r
570
571 Engine Settings
572      Pops up a sub-menu where you can set some engine parameters common
573      to most engines,\r such as hash-table size, tablebase cache size,
574      maximum number of processors\r that SMP engines can use, and where
575      to find the Polyglot adapter needed\r to run UCI engines under
576      XBoard. The feature tht allows setting of these parameters on\r
577      engines is new since XBoard 4.3.15, so not many WinBoard engines
578      respond\r to it yet, but UCI engines should.\r It is also possible
579      to specify a GUI opening book here, i.e. an opening\r book that
580      XBoard consults for any position a playing engine gets in.\r It
581      then forces the engine to play the book move, rather than to think
582      up its own,\r if that position is found in the book.\r The book
583      can switched on and off independently for either engine.\r
584
585 Time Control
586      Pops up a sub-menu where you can set the time-control parameters
587      interactively.\r Allows you to select classical or incremental
588      time controls,\r set the moves per session, session duration, and
589      time increment.\r Also allows specification of time-odds factors
590      for one or both engines.\r If an engine is given a time-odds
591      factor N, all time quota it gets, \r be it at the beginning of a
592      session or through the time increment or\r fixed time per move,
593      will be divided by N.\r
594
595 Always Queen
596      If this option is off, XBoard brings up a dialog\r box whenever
597      you move a pawn to the last rank, asking what piece\r you want to
598      promote it to. If the option is true, your pawns are\r always
599      promoted to queens. Your opponent can still underpromote.\r
600
601 Animate Dragging
602      If Animate Dragging is on, while you are dragging a piece with
603      the\r mouse, an image of the piece follows the mouse cursor.\r If
604      Animate Dragging is off, there is no visual feedback while you
605      are\r dragging a piece, but if Animate Moving is on, the move will
606      be\r animated when it is complete. \r
607
608 Animate Moving
609      If Animate Moving is on, all piece moves are animated.  An image
610      of the\r piece is shown moving from the old square to the new
611      square when the\r move is completed (unless the move was already
612      animated by Animate Dragging).\r If Animate Moving is off, a moved
613      piece instantly disappears from its\r old square and reappears on
614      its new square when the move is complete.\r
615
616 Auto Comment
617      If this option is on, any remarks made on ICS while you are
618      observing or\r playing a game are recorded as a comment on the
619      current move.  This includes\r remarks made with the ICS commands
620      `say', `tell', `whisper',\r and `kibitz'.\r Limitation: remarks
621      that you type yourself are not recognized;\r XBoard scans only the
622      output from ICS, not the input you type to it.\r
623
624 Auto Flag
625      If this option is on and one player runs out of time\r before the
626      other,\r XBoard\r will automatically call his flag, claiming a win
627      on time.\r In ICS mode, Auto Flag will only call your opponent's
628      flag, not yours,\r and the ICS may award you a draw instead of a
629      win if you have\r insufficient mating material.  In local chess
630      engine mode,\r XBoard\r may call either player's flag and will not
631      take material into account.\r
632
633 Auto Flip View
634      If the Auto Flip View option is on when you start a game, the
635      board\r will be automatically oriented so that your pawns move
636      from the bottom\r of the window towards the top.\r
637
638 Auto Observe
639      If this option is on and you add a player to your `gnotify'\r list
640      on ICS, XBoard will automatically observe all of that\r player's
641      games, unless you are doing something else (such as\r observing or
642      playing a game of your own) when one starts.\r The games are
643      displayed \r from the point of view of the player on your gnotify
644      list; that is, his\r pawns move from the bottom of the window
645      towards the top.\r Exceptions:  If both players in a game are on
646      your gnotify list, if\r your ICS \r `highlight'\r variable is set
647      to 0, or if the ICS you are using does not \r properly support
648      observing from Black's point of view,\r you will see the game from
649      White's point of view.\r
650
651 Auto Raise Board
652      If this option is on, whenever a new game begins, the chessboard
653      window\r is deiconized (if necessary) and raised to the top of the
654      stack of windows.\r
655
656 Auto Save
657      If this option is true, at the end of every game XBoard prompts\r
658      you for a file name and appends a record of the game to the file\r
659      you specify. \r Disabled if the `saveGameFile' command-line\r
660      option is set, as in that case all games are saved to the
661      specified file.\r *Note Load and Save options::.\r
662
663 Blindfold
664      If this option is on, XBoard displays the board as usual but does\r
665      not display pieces or move highlights.  You can still move in the\r
666      usual way (with the mouse or by typing moves in ICS mode), even
667      though\r the pieces are invisible.\r
668
669 Flash Moves
670      If this option is on, whenever a move is completed, the moved
671      piece flashes.\r The number of times to flash is set by the
672      flashCount command-line\r option; it defaults to 3 if Flash Moves
673      is first turned on from the menu.\r \r If you are playing a game
674      on an ICS, the board is always\r oriented at the start of the game
675      so that your pawns move from\r the bottom of the window towards
676      the top. Otherwise, the starting\r orientation is determined by
677      the `flipView' command line option;\r if it is false (the
678      default), White's pawns move from bottom to top\r at the start of
679      each game; if it is true, Black's pawns move from\r bottom to top.
680      *Note User interface options::.\r
681
682 Get Move List
683      If this option is on, whenever XBoard\r receives the first board
684      of a new ICS game (or a different game from\r the one it is
685      currently displaying), it\r retrieves the list of past moves from
686      the ICS.\r You can then review the moves with the `Forward' and
687      `Backward'\r commands\r or save them with `Save Game'.  You might
688      want to\r turn off this option if you are observing several blitz
689      games at once,\r to keep from wasting time and network bandwidth
690      fetching the move lists over\r and over.\r When you turn this
691      option on from the menu, XBoard\r immediately fetches the move
692      list of the current game (if any).\r
693
694 Highlight Last Move
695      If Highlight Last Move is on, after a move is made, the starting
696      and\r ending squares remain highlighted. In addition, after you
697      use Backward\r or Back to Start, the starting and ending squares
698      of the last move to\r be unmade are highlighted.\r
699
700 Move Sound
701      If this option is on, XBoard alerts you by playing a sound\r after
702      each of your opponent's moves (or after every\r move if you are
703      observing a game on the Internet Chess Server).\r The sound is not
704      played after moves you make or moves read from a\r saved game
705      file. By default, the\r sound is the terminal bell, but on some
706      systems you can change it\r to a sound file using the soundMove
707      option; see below.\r \r If you turn on this option when using
708      XBoard with the Internet\r Chess Server, you will probably want to
709      give the\r `set bell 0'\r command to the ICS, since otherwise the
710      ICS will ring the terminal bell\r after every move (not just
711      yours). (The `.icsrc' file\r is a good place for this; see *note
712      ICS options::.)\r
713
714 ICS Alarm
715      When this option is on, an alarm sound is played when your clock\r
716      counts down to the icsAlarmTime (by default, 5 seconds) in an ICS\r
717      game.  For games with time controls that include an increment,
718      the\r alarm will sound each time the clock counts down to the
719      icsAlarmTime.\r By default, the alarm sound is the terminal bell,
720      but on some systems\r you can change it to a sound file using the
721      soundIcsAlarm option; see\r below.\r
722
723 Old Save Style
724      If this option is off, XBoard saves games in PGN\r (portable game
725      notation) and positions in FEN (Forsythe-Edwards\r notation).  If
726      the option is on, a save style that is compatible\r with older
727      versions of XBoard is used instead.\r The old position style is
728      more human-readable\r than FEN; the old game style has no
729      particular advantages.\r
730
731 Periodic Updates
732      If this option is off (or if\r you are using a chess engine that
733      does not support periodic updates),\r the analysis window\r will
734      only be updated when the analysis changes. If this option is\r on,
735      the Analysis Window will be updated every two seconds.\r
736
737 Ponder Next Move
738      If this option is off, the chess engine will think only when it is
739      on\r move.  If the option is on, the engine will also think while
740      waiting\r for you to make your move.\r
741
742 Popup Exit Message
743      If this option is on, when XBoard wants to display a message just\r
744      before exiting, it brings up a modal dialog box and waits for you
745      to\r click OK before exiting.  If the option is off, XBoard prints
746      the\r message to standard error (the terminal) and exits
747      immediately.\r
748
749 Popup Move Errors
750      If this option is off, when you make an error in moving (such as\r
751      attempting an illegal move or moving the wrong color piece), the\r
752      error message is displayed in the message area.  If the option is\r
753      on, move errors are displayed in small popup windows like other
754      errors.\r You can dismiss an error popup either by clicking its OK
755      button or by\r clicking anywhere on the board, including
756      downclicking to start a move.\r
757
758 Premove
759      If this option is on while playing a game on an ICS, you can
760      register\r your next planned move before it is your turn.  Move
761      the piece with\r the mouse in the ordinary way, and the starting
762      and ending squares\r will be highlighted with a special color (red
763      by default).  When it is\r your turn, if your registered move is
764      legal, XBoard will send it to\r ICS immediately; if not, it will
765      be ignored and you can make a\r different move.  If you change
766      your mind about your premove, either\r make a different move, or
767      double-click on any piece to cancel the move\r entirely.\r
768
769 Quiet Play
770      If this option is on, XBoard will automatically issue an ICS\r
771      `set shout 0'\r command whenever you start a game and a\r `set
772      shout 1'\r command whenever you finish one.  Thus, you will not be
773      distracted\r by shouts from other ICS users while playing.\r
774
775 Show Coords
776      If this option is on, XBoard displays algebraic coordinates\r
777      along the board's left and bottom edges.\r
778
779 Hide Thinking
780      If this option is off, the chess engine's notion of the score and
781      best\r line of play from the current position is displayed as it
782      is\r thinking. The score indicates how many pawns ahead (or if
783      negative,\r behind) the chess engine thinks it is. In matches
784      between two\r machines, the score is prefixed by `W' or `B' to
785      indicate\r whether it is showing White's thinking or Black's, and
786      only the thinking\r of the engine that is on move is shown.\r
787
788 Test Legality
789      If this option is on, XBoard tests whether the moves you try to
790      make\r with the mouse are legal and refuses to let you make an
791      illegal move.\r Moves loaded from a file with `Load Game' are also
792      checked.  If\r the option is off, all moves are accepted, but if a
793      local chess engine\r or the ICS is active, they will still reject
794      illegal moves.  Turning\r off this option is useful if you are
795      playing a chess variant with\r rules that XBoard does not
796      understand.  (Bughouse, suicide, and wild\r variants where the
797      king may castle after starting on the d file are\r generally
798      supported with Test Legality on.)\r
799 \r
800
801 2.6 Help Menu
802 =============
803
804 Info XBoard
805      Displays the XBoard documentation in info format.  For this
806      feature to\r work, you must have the GNU info program installed on
807      your system, and\r the file `xboard.info' must either be present
808      in the current\r working directory, or have been installed by the
809      `make install'\r command when you built XBoard.\r
810
811 Man XBoard
812      Displays the XBoard documentation in man page format.  For this\r
813      feature to work, the file `xboard.6' must have been installed by\r
814      the `make install' command when you built XBoard, and the\r
815      directory it was placed in must be on the search path for your\r
816      system's `man' command.\r
817
818 Hint
819      Displays a move hint from the chess engine.\r
820
821 Book
822      Displays a list of possible moves from the chess engine's opening\r
823      book.  The exact format depends on what chess engine you are
824      using.\r With GNU Chess 4, the first column gives moves, the
825      second column\r gives one possible response for each move, and the
826      third column shows\r the number of lines in the book that include
827      the move from the first\r column. If you select this option and
828      nothing happens, the chess\r engine is out of its book or does not
829      support this feature.\r
830
831 About XBoard
832      Shows the current XBoard version number.\r
833 \r
834
835 2.7 Other Shortcut Keys
836 =======================
837
838 Iconize
839      Pressing the `i' or `c' key iconizes XBoard. The graphical\r icon
840      displays a white knight if it is White's move, or a black knight\r
841      if it is Black's move. If your X window manager displays only
842      text\r icons, not graphical ones, check its documentation; there
843      is probably\r a way to enable graphical icons.  If you get black
844      and white reversed,\r we would like to hear about it; see *note
845      Problems:: below for\r instructions on how to report this
846      problem.\r
847 \r You can add or remove shortcut keys using the X resources\r
848 `form.translations'. Here is an example of what would go in your\r
849 `.Xresources' file:\r \r
850      XBoard*form.translations: \\r
851        Shift<Key>?: AboutGameProc() \n\\r
852        <Key>y: AcceptProc() \n\\r
853        <Key>n: DeclineProc() \n\\r
854        <Key>i: NothingProc()\r
855    Binding a key to `NothingProc' makes it do nothing, thus removing\r
856 it as a shortcut key. The XBoard commands that can be bound to keys\r
857 are:\r \r
858      AbortProc, AboutGameProc, AboutProc, AcceptProc, AdjournProc,\r
859      AlwaysQueenProc, AnalysisModeProc, AnalyzeFileProc,\r
860      AnimateDraggingProc, AnimateMovingProc, AutobsProc, AutoflagProc,\r
861      AutoflipProc, AutoraiseProc, AutosaveProc, BackwardProc,\r
862      BlindfoldProc, BookProc, CallFlagProc, CopyGameProc, CopyPositionProc,\r
863      DebugProc, DeclineProc, DrawProc, EditCommentProc, EditGameProc,\r
864      EditPositionProc, EditTagsProc, EnterKeyProc, FlashMovesProc,\r
865      FlipViewProc, ForwardProc, GetMoveListProc, HighlightLastMoveProc,\r
866      HintProc, Iconify, IcsAlarmProc, IcsClientProc, IcsInputBoxProc,\r
867      InfoProc, LoadGameProc, LoadNextGameProc, LoadNextPositionProc,\r
868      LoadPositionProc, LoadPrevGameProc, LoadPrevPositionProc,\r
869      LoadSelectedProc, MachineBlackProc, MachineWhiteProc, MailMoveProc,\r
870      ManProc, MoveNowProc, MoveSoundProc, NothingProc, OldSaveStyleProc,\r
871      PasteGameProc, PastePositionProc, PauseProc, PeriodicUpdatesProc,\r
872      PonderNextMoveProc, PopupExitMessageProc, PopupMoveErrorsProc,\r
873      PremoveProc, QuietPlayProc, QuitProc, ReloadCmailMsgProc,\r
874      ReloadGameProc, ReloadPositionProc, RematchProc, ResetProc,\r
875      ResignProc, RetractMoveProc, RevertProc, SaveGameProc,\r
876      SavePositionProc, ShowCoordsProc, ShowGameListProc, ShowThinkingProc,\r
877      StopExaminingProc, StopObservingProc, TestLegalityProc, ToEndProc,\r
878      ToStartProc, TrainingProc, TruncateGameProc, and TwoMachinesProc.\r
879    \r
880
881 3 Options
882 *********
883
884 \r This section documents the command-line options to XBoard.  You can\r
885 set these options in two ways: by typing them on the shell command\r
886 line you use to start XBoard, or by setting them as X resources\r
887 (typically in your `.Xresources' file).  Many of the options\r cannot
888 be changed while XBoard is running; others set the initial\r state of
889 items that can be changed with the *note Options:: menu.\r \r Most of
890 the options have both a long name and a short name. To turn a\r boolean
891 option on or off from the command line, either give its long\r name
892 followed by the value true or false\r (`-longOptionName true'), or give
893 just the short name to turn the\r option on (`-opt'), or the short name
894 preceded by `x' to\r turn the option off (`-xopt'). For options that
895 take strings or\r numbers as values, you can use the long or short
896 option names\r interchangeably.\r \r Each option corresponds to an X
897 resource with the same name, so\r if you like, you can set options in
898 your `.Xresources' file\r or in a file named `XBoard' in your home
899 directory.\r For options that have two names, the longer one is the
900 name of\r the corresponding X resource; the short name is not
901 recognized.\r To turn a boolean option on or off as an\r X resource,
902 give its long name followed by the value\r true or false
903 (`XBoard*longOptionName: true').\r \r \r
904
905 3.1 Chess Engine Options
906 ========================
907
908 -tc or -timeControl minutes[:seconds]
909      Each player begins with his clock set to the `timeControl'
910      period.\r Default: 5 minutes.\r The additional options
911      `movesPerSession' and `timeIncrement'\r are mutually exclusive.  \r
912
913 -mps or -movesPerSession moves
914      When both players have made `movesPerSession' moves, a\r new
915      `timeControl' period is added to both clocks.  Default: 40 moves.\r
916
917 -inc or -timeIncrement seconds
918      If this option is specified, `movesPerSession' is ignored.\r
919      Instead, after each player's move, `timeIncrement' seconds are\r
920      added to his clock.  \r Use `-inc 0' if you want to require the
921      entire\r game to be played in one `timeControl' period, with no
922      increment.\r Default: -1, which specifies `movesPerSession' mode.\r
923
924 -clock/-xclock or -clockMode true/false
925      Determines whether or not to display the chess clocks. If
926      clockMode is\r false, the clocks are not shown, but the side that
927      is to play next\r is still highlighted. Also, unless `searchTime'\r
928      is set, the chess engine still keeps track of the clock time and
929      uses it to\r determine how fast to make its moves.\r
930
931 -st or -searchTime minutes[:seconds]
932      Tells the chess engine to spend at most the given amount of time\r
933      searching for each of its moves. Without this option, the chess
934      engine\r chooses its search time based on the number of moves and
935      amount\r of time remaining until the next time control.\r Setting
936      this option also sets clockMode to false.\r
937
938 -depth or -searchDepth number
939      Tells the chess engine to look ahead at most the given number of
940      moves\r when searching for a move to make. Without this option,
941      the chess\r engine chooses its search depth based on the number of
942      moves and\r amount of time remaining until the next time control.
943      With the option,\r the engine will cut off its search early if it
944      reaches the specified depth.\r
945
946 -firstNPS number
947 -secondNPS number
948      Tells the chess engine to use an internal time standard based on
949      its node count, \r rather then wall-clock time, to make its timing
950      decisions. \r The time in virtual seconds should be obtained by
951      dividing the node count \r through the given number, like the
952      number was a rate in nodes per second. \r Xboard will manage the
953      clocks in accordance with this, relying on the number \r of nodes
954      reported by the engine in its thinking output. If the given number
955      equals zero, \r it can obviously not be used to convert nodes to
956      seconds, and the time reported \r by the engine is used to
957      decrement the XBoard clock in stead. The engine is supposed to \r
958      report in CPU time it uses, rather than wall-clock time, in this
959      mode. This option \r can provide fairer conditions for
960      engine-engine matches on heavily loaded machines, \r or with very
961      fast games (where the wall clock is too inaccurate). \r
962      `showThinking' must be on for this option to work. Default: -1
963      (off).\r Not many engines might support this yet!\r
964
965 -firstTimeOdds factor
966 -secondTimeOdds factor
967      Reduces the time given to the mentioned engine by the given
968      factor. \r If pondering is off, the effect is indistinguishable
969      from what would happen \r if the engine was running on an n-times
970      slower machine. Default: 1.\r
971
972 -timeOddsMode mode
973      This option determines how the case is handled where both engines
974      have a time-odds handicap. \r If mode=1, the engine that gets the
975      most time will always get the nominal time, \r as specified by the
976      time-control options, and its opponent's time is renormalized
977      accordingly. \r If mode=0, both play with reduced time. Default:
978      0.\r
979
980 -hideThinkingFromHuman true/false
981      Controls the Hide Thinking option. *Note Options Menu::. Default:
982      true.\r (Relaces the Show-Thinking option of older xboard
983      versions.)\r
984
985 -thinking/-xthinking or -showThinking true/false
986      Forces the engine to send thinking output to xboard. \r Used to be
987      the only way to control if thinking output was displayed \r in
988      older xboard versions,\r but as the thinking output in xboard 4.3
989      is also used for several other\r purposes (adjudication, storing
990      in PGN file) the display of it is now controlled\r by the new
991      option Hide Thinking. *Note Options Menu::. Default: false.\r (But
992      if xboard needs the thinking output for some purpose,\r it makes
993      the engine send it despite the setting of this option.)\r
994
995 -ponder/-xponder or -ponderNextMove true/false
996      Sets the Ponder Next Move menu option. *Note Options Menu::.
997      Default: true.\r
998
999 -smpCores number
1000      Specifies the maxmum nmber of CPUs an SMP engine is allowed to
1001      use.\r Only works for engines that support the WinBoard-protocol
1002      cores feature.\r
1003
1004 -mg or -matchGames n
1005      Automatically runs an n-game match between two chess engines,\r
1006      with alternating colors.\r If the `loadGameFile' or
1007      `loadPositionFile' option is set,\r XBoard\r starts each game with
1008      the given opening moves or the given position;\r otherwise, the
1009      games start with the standard initial chess position.\r If the
1010      `saveGameFile' option is set, a move record for the\r match is
1011      appended to the specified file. If the `savePositionFile'\r option
1012      is set, the final position reached in each game of the match is
1013      appended\r to the specified file. When the match is over, XBoard\r
1014      displays the match score and exits. Default: 0 (do not run a
1015      match).\r
1016
1017 -mm/-xmm or -matchMode true/false
1018      Setting `matchMode' to true is equivalent to setting\r
1019      `matchGames' to 1.\r
1020
1021 -sameColorGames n
1022      Automatically runs an n-game match between two chess engines,\r
1023      without alternating colors.\r Otherwise the same applies as for
1024      the `-matchGames' option,\r over which it takes precedence if both
1025      are specified. (See there.)\r Default: 0 (do not run a match).\r
1026
1027 -fcp or -firstChessProgram program
1028      Name of first chess engine.\r Default: `Fairy-Max'.\r
1029
1030 -scp or -secondChessProgram program
1031      Name of second chess engine, if needed.\r A second chess engine is
1032      started only in Two Machines (match) mode.\r Default:
1033      `Fairy-Max'.\r
1034
1035 -fb/-xfb or -firstPlaysBlack true/false
1036      In games between two chess engines, firstChessProgram normally
1037      plays\r white.  If this option is true, firstChessProgram plays
1038      black.  In a\r multi-game match, this option affects the colors
1039      only for the first\r game; they still alternate in subsequent
1040      games.\r
1041
1042 -fh or -firstHost host
1043 -sh or -secondHost host
1044      Hosts on which the chess engines are to run. The default for\r
1045      each is `localhost'. If you specify another host, XBoard\r uses
1046      `rsh' to run the chess engine there. (You can substitute a\r
1047      different remote shell program for rsh using the `remoteShell'\r
1048      option described below.)\r
1049
1050 -fd or -firstDirectory dir
1051 -sd or -secondDirectory dir
1052      Working directories in which the chess engines are to be run.\r
1053      The default is "", which means to run the chess engine\r in the
1054      same working directory as XBoard\r itself.  (See the CHESSDIR
1055      environment variable.)\r This option is effective only when the
1056      chess engine is being run\r on the local host; it does not work if
1057      the engine is run remotely\r using the -fh or -sh option.\r
1058
1059 -initString string
1060 -secondInitString string
1061      The string that is sent to initialize each chess engine for a new
1062      game.\r Default:\r \r
1063           new\r
1064           random\r
1065      Setting this option from the command line is tricky, because you
1066      must\r type in real newline characters, including one at the very
1067      end.\r In most shells you can do this by\r entering a `\'
1068      character followed by a newline. It is easier to set\r the option
1069      from your `.Xresources' file; in that case you can\r include the
1070      character sequence `\n' in the string, and it will\r be converted
1071      to a newline.\r \r If you change this option, don't remove the
1072      `new' \r command; it is required by all chess engines to\r start a
1073      new game.\r \r You can remove the `random' command if you like;
1074      including it\r causes GNU Chess 4 to randomize its move selection
1075      slightly so that it\r doesn't play the same moves in every game.
1076      Even without\r `random', GNU Chess 4 randomizes its choice of
1077      moves from its\r opening book.  Many other chess engines ignore
1078      this command entirely\r and always (or never) randomize.\r \r You
1079      can also try adding other commands to the initString; see the\r
1080      documentation of the chess engine you are using for details.\r
1081
1082 -firstComputerString string
1083 -secondComputerString string
1084      The string that is sent to the chess engine if its opponent is
1085      another\r computer chess engine.  The default is `computer\n'.
1086      Probably the\r only useful alternative is the empty string (`'),
1087      which keeps the\r engine from knowing that it is playing another
1088      computer.\r
1089
1090 -reuse/-xreuse or -reuseFirst true/false
1091 -reuse2/-xreuse2 or -reuseSecond true/false
1092      If the option is false,\r XBoard kills off the chess engine after
1093      every game and starts\r it again for the next game.  \r If the
1094      option is true (the default), \r XBoard starts the chess engine
1095      only once\r and uses it repeatedly to play multiple games.\r Some
1096      old chess engines may not work properly when\r reuse is turned on,
1097      but otherwise games will start faster if it is left on.\r
1098
1099 -firstProtocolVersion version-number
1100 -secondProtocolVersion version-number
1101      This option specifies which version of the chess engine
1102      communication\r protocol to use.  By default, version-number is 2.
1103      In version 1, the\r "protover" command is not sent to the engine;
1104      since version 1 is a\r subset of version 2, nothing else changes.
1105      Other values for\r version-number are not supported.\r
1106
1107 -firstScoreAbs true/false
1108 -secondScoreAbs true/false
1109      If this option is set, the score reported by the engine is taken
1110      to be \r that in favor of white, even when the engine plays black.
1111      \r Important when XBoard uses the score for adjudications, or in
1112      PGN reporting. \r
1113
1114 -niceEngines priority
1115      This option allows you to lower the priority of the engine
1116      processes, \r so that the generally insatiable hunger for CPU time
1117      of chess engines does not interfere so much \r with smooth
1118      operation of WinBoard (or the rest of your system). \r Negative
1119      values could increase the engine priority, which is not
1120      recommended.\r
1121
1122 -firstOptions string
1123 -secondOptions string
1124      The given string is a comma-separated list of (option name, option
1125      value) pairs, \r like the following example: Â“style=Karpov,blunder
1126      rate=0”. \r If the options announced by the engine at startup
1127      through the feature commands of WinBoard protocol \r matches one
1128      of the option names (i.e. Â“style” or Â“blunder rate”), \r it would
1129      be set to the given value (i.e. Â“Karpov” or 0) \r through a
1130      corresponding option command to the engine. \r This provided that
1131      the type of the value (text or numeric) matches as well.\r
1132 \r
1133
1134 3.2 UCI + WB Engine Settings
1135 ============================
1136
1137 -fUCI or -firstIsUCI true/false
1138 -sUCI or -secondIsUCI true/false
1139      Indicates if the mentioned engine executable file is an UCI
1140      engine, \r and should be run with the aid of the Polyglot adapter
1141      rather than directly. \r Xboard will then pass the other UCI
1142      options and engine name to Polyglot \r through a .ini temporary
1143      file ceated for the purpose.\r
1144
1145 -PolyglotDir filename
1146      Gives the name of the directory in which the Polyglot adapter for
1147      UCI engines expects its files.\r Default:
1148      "/usr/local/share/polyglot".\r
1149
1150 -usePolyglotBook true/false
1151      Specifies if the Polygot book should be used.\r
1152
1153 -PolyglotBook filename
1154      Gives the filename of the opening book that Polyglot should use. \r
1155      From XBoard 4.3.15 on, native WinBoard engines will also use the
1156      opening book specified here, \r provided the `usePolyglotBook'
1157      option is set to true,\r and the option `firstHasOwnBookUCI' or
1158      `secondHasOwnBookUCI' applying to the engine\r is set to false.\r
1159      The engine will be kept in force mode as long as the current
1160      position is in book, \r and XBoard will select the book moves for
1161      it. Default "".\r
1162
1163 -fNoOwnBookUCI or -firstXBook or -firstHasOwnBookUCI true/false
1164 -sNoOwnBookUCI or -secondXBook or -secondHasOwnBookUCI true/false
1165      Indicates if the mentioned engine has its own opening book it
1166      should play from,\r rather than using the external book through
1167      XBoard. Default: false.\r
1168
1169 -defaultHashSize n
1170      Sets the size of the hash table to n MegaBytes. Together with the
1171      EGTB cache size \r this number is also used to calculate the
1172      memory setting of WinBoard engines, \r for those that support the
1173      memory feature of WinBoard protocol. Default: 64.\r
1174
1175 -defaultCacheSizeEGTB n
1176      Sets the size of the EGTB cache to n MegaBytes. Together with the
1177      hash-table size \r this number is also used to calculate the
1178      memory setting of WinBoard engines, \r for those that support the
1179      memory feature of WinBoard protocol. Default: 4.\r
1180
1181 -defaultPathEGTB filename
1182      Gives the name of the directory where the end-game tablebases are
1183      installed, for UCI engines.\r Default: "/usr/local/share/egtb".\r
1184
1185 -egtFormats string
1186      Specifies which end-game tables are installed on the computer, and
1187      where. \r The argument is a comma-separated list of format
1188      specifications, \r each specification consisting of a format name,
1189      a colon, and a directory path name, \r e.g.
1190      "nalimov:/usr/local/share/egtb". \r If the name part matches that
1191      of a format that the engine requests through a feature command, \r
1192      xboard will relay the path name for this format to the engine
1193      through an egtpath command. \r One egtpath command for each
1194      matching format will be sent. \r Popular formats are "nalimov" DTM
1195      tablebases and "scorpio" bitbases.\r Default: "".\r
1196 \r
1197
1198 3.3 ICS options
1199 ===============
1200
1201 -ics/-xics or -internetChessServerMode true/false
1202      Connect with an Internet Chess Server to play chess against its\r
1203      other users, observe games they are playing, or review games\r
1204      that have recently finished. Default: false.\r
1205
1206 -icshost or -internetChessServerHost host
1207      The Internet host name or address of the chess server to connect\r
1208      to when in ICS mode. Default: `chessclub.com'.\r Another popular
1209      chess server to try is `freechess.org'.\r If your site doesn't
1210      have a working Internet name server, try\r specifying the host
1211      address in numeric form. \r You may also need\r to specify the
1212      numeric address when using the icshelper option\r with timestamp
1213      or timeseal (see below).\r
1214
1215 -icsport or -internetChessServerPort port-number
1216      The port number to use when connecting to a chess server in ICS\r
1217      mode. Default: 5000.\r
1218
1219 -icshelper or -internetChessServerHelper prog-name
1220      An external helper program used to communicate with the chess
1221      server.\r You would set it to "timestamp" for ICC (chessclub.com)
1222      or\r "timeseal" for FICS (freechess.org), after\r obtaining the
1223      correct version of timestamp or timeseal for your\r computer.  See
1224      "help timestamp" on ICC and "help timeseal" on FICS.\r This option
1225      is shorthand for `-useTelnet -telnetProgram program'.\r
1226
1227 -telnet/-xtelnet or -useTelnet true/false
1228      This option is poorly named; it should be called useHelper.\r If
1229      set to true, it instructs XBoard to run an external\r program to
1230      communicate with the Internet Chess Server. \r The program to use
1231      is given by the telnetProgram option.\r If the option is\r false
1232      (the default), XBoard opens a TCP socket and uses its own\r
1233      internal implementation of the telnet protocol to communicate with
1234      the\r ICS. *Note Firewalls::.\r
1235
1236 -telnetProgram prog-name
1237      This option is poorly named; it should be called helperProgram.\r
1238      It gives the name of the telnet program to be used with\r the
1239      `gateway' and `useTelnet' options.  The default is\r `telnet'. The
1240      telnet program is invoked with the value of\r
1241      `internetChessServerHost' as its first argument and the value\r of
1242      `internetChessServerPort' as its second argument.\r *Note
1243      Firewalls::.\r
1244
1245 -gateway host-name
1246      If this option is set to a host name, XBoard communicates with
1247      the\r Internet Chess Server by using `rsh' to run\r the
1248      `telnetProgram' on the given host,\r instead of using its own
1249      internal implementation\r of the telnet protocol. You can
1250      substitute a different remote shell\r program for `rsh' using the
1251      `remoteShell' option described below.\r *Note Firewalls::.\r
1252
1253 -internetChessServerCommPort or -icscomm dev-name
1254      If this option is set, XBoard communicates with the ICS through\r
1255      the given character I/O device instead of opening a TCP
1256      connection.\r Use this option if your system does not have any
1257      kind of\r Internet connection itself (not even a SLIP or PPP
1258      connection),\r but you do have dialup access (or a hardwired
1259      terminal line) to\r an Internet service provider from which you
1260      can telnet to the ICS.\r \r The support for this option in XBoard
1261      is minimal. You need to\r set all communication parameters and tty
1262      modes before you enter\r XBoard.\r \r Use a script something like
1263      this:\r \r
1264           stty raw -echo 9600 > /dev/tty00\r
1265           xboard -ics -icscomm /dev/tty00\r
1266      \r Here replace `/dev/tty00' with the name of the device that
1267      your\r modem is connected to. You might have to add several more\r
1268      options to these stty commands. See the man pages for `stty'\r and
1269      `tty' if you run into problems. Also, on many systems stty\r works
1270      on its standard input instead of standard output, so you\r have to
1271      use `<' instead of `>'.\r \r If you are using linux, try starting
1272      with the script below.\r Change it as necessary for your
1273      installation.\r \r
1274           #!/bin/sh -f\r
1275           # configure modem and fire up XBoard\r
1276           \r
1277           # configure modem\r
1278           (\r
1279             stty 2400 ; stty raw ; stty hupcl ; stty -clocal\r
1280             stty ignbrk ; stty ignpar ; stty ixon ; stty ixoff\r
1281             stty -iexten ; stty -echo\r
1282           ) < /dev/modem\r
1283           xboard -ics -icscomm /dev/modem\r
1284      After you start XBoard in this way, type whatever commands are\r
1285      necessary to dial out to your Internet provider and log in.\r Then
1286      telnet to ICS, using a command like\r `telnet chessclub.com
1287      5000'.\r Important: See the paragraph below about extra echoes, \r
1288      in *note Limitations::.\r
1289
1290 -icslogon or -internetChessServerLogonScript file-name
1291      Whenever XBoard connects to the Internet Chess Server,\r if it
1292      finds a file with the name given in this option, it feeds the\r
1293      file's contents to the ICS as commands. The default file name\r is
1294      `.icsrc'.\r Usually the first two lines of the file should be\r
1295      your ICS user name and password.\r The file can be either in
1296      $CHESSDIR, in XBoard's working\r directory if CHESSDIR is not set,
1297      or in your home directory.\r
1298
1299 -msLoginDelay delay
1300      If you experience trouble logging on to an ICS when using the\r
1301      `-icslogon' option, inserting some delay between characters\r of
1302      the logon script may help. This option adds `delay'\r milliseconds
1303      of delay between characters. Good values to try\r are 100 and
1304      250.\r
1305
1306 -icsinput/-xicsinput or -internetChessServerInputBox true/false
1307      Sets the ICS Input Box menu option. *Note Mode Menu::. Default:
1308      false.\r
1309
1310 -autocomm/-xautocomm or -autoComment true/false
1311      Sets the Auto Comment menu option. *Note Options Menu::. Default:
1312      false.\r
1313
1314 -autoflag/-xautoflag or -autoCallFlag true/false
1315      Sets the Auto Flag menu option.  *Note Options Menu::. Default:
1316      false.\r
1317
1318 -autobs/-xautobs or -autoObserve true/false
1319      Sets the Auto Observe menu option.  *Note Options Menu::. Default:
1320      false.\r
1321
1322 -autoKibitz
1323      Enables kibitzing of the engines last thinking output (depth,
1324      score, time, speed, PV) \r before it moved\r to the ICS, in zippy
1325      mode. The option `showThinking' must be switched on for \r this
1326      option to work.\r Also diverts similar kibitz information of an
1327      opponent engine that is playing you \r through the ICS to the
1328      engine-output window, as if the engine was playing locally.\r
1329
1330 -moves/-xmoves or -getMoveList true/false
1331      Sets the Get Move List menu option.  *Note Options Menu::.
1332      Default: true.\r
1333
1334 -alarm/-xalarm or -icsAlarm true/false
1335      Sets the ICS Alarm menu option.  *Note Options Menu::. Default:
1336      true.\r
1337
1338 -icsAlarmTime ms
1339      Sets the time in milliseconds for the ICS Alarm menu option. \r
1340      *Note Options Menu::. Default: 5000.\r
1341
1342 -pre/-xpre \fRor\fB -premove true/false
1343      Sets the Premove menu option. *Note Options Menu::. Default:
1344      true.\r
1345
1346 -quiet/-xquiet or -quietPlay true/false
1347      Sets the Quiet Play menu option.  *Note Options Menu::.  Default:
1348      false.\r
1349
1350 -colorizeMessages or -colorize
1351      Setting colorizeMessages\r to true tells XBoard to colorize the
1352      messages received from\r the ICS.  Colorization works only if your
1353      xterm \r supports ISO 6429 escape sequences for changing text
1354      colors.\r
1355
1356 -colorShout foreground,background,bold
1357 -colorSShout foreground,background,bold
1358 -colorChannel1 foreground,background,bold
1359 -colorChannel foreground,background,bold
1360 -colorKibitz foreground,background,bold
1361 -colorTell foreground,background,bold
1362 -colorChallege foreground,background,bold
1363 -colorRequest foreground,background,bold
1364 -colorSeek foreground,background,bold
1365 -colorNormal foreground,background,bold
1366      These options set the colors used when colorizing ICS messages.\r
1367      All ICS messages are grouped into one of these categories:\r
1368      shout, sshout, channel 1, other channel, kibitz, tell, challenge,
1369      \r request (including abort, adjourn, draw, pause, and takeback),
1370      or\r normal (all other messages).  \r \r Each foreground or
1371      background argument can be one of the following:\r black, red,
1372      green, yellow, blue, magenta, cyan, white, or default.\r Here
1373      "default" means the default foreground or background color of\r
1374      your xterm.  Bold can be 1 or 0.  If background is omitted,
1375      "default"\r is assumed; if bold is omitted, 0 is assumed.\r \r
1376      Here is an example of how to set the colors in your `.Xresources'
1377      file.\r The colors shown here are the default values; you will
1378      get\r them if you turn `-colorize' on without specifying your own
1379      colors.\r \r
1380           xboard*colorizeMessages: true \r
1381           xboard*colorShout: green\r
1382           xboard*colorSShout: green, black, 1\r
1383           xboard*colorChannel1: cyan\r
1384           xboard*colorChannel: cyan, black, 1\r
1385           xboard*colorKibitz: magenta, black, 1\r
1386           xboard*colorTell: yellow, black, 1\r
1387           xboard*colorChallenge: red, black, 1\r
1388           xboard*colorRequest: red\r
1389           xboard*colorSeek: blue\r
1390           xboard*colorNormal: default\r
1391
1392 -soundProgram progname
1393      If this option is set to a sound-playing program that is installed
1394      and\r working on your system, XBoard can play sound files when
1395      certain\r events occur, listed below.  The default program name is
1396      "play".  If\r any of the sound options is set to "$", the event
1397      rings the terminal\r bell by sending a ^G character to standard
1398      output, instead of playing\r a sound file.  If an option is set to
1399      the empty string "", no sound is\r played for that event.\r
1400
1401 -soundShout filename
1402 -soundSShout filename
1403 -soundChannel filename
1404 -soundKibitz filename
1405 -soundTell filename
1406 -soundChallenge filename
1407 -soundRequest filename
1408 -soundSeek filename
1409      These sounds are triggered in the same way as the colorization
1410      events\r described above.  They all default to "", no sound.  They
1411      are played\r only if the colorizeMessages is on.\r
1412
1413 -soundMove filename
1414      This sound is used by the Move Sound menu option.  Default: "$".\r
1415
1416 -soundIcsAlarm filename
1417      This sound is used by the ICS Alarm menu option.  Default: "$".\r
1418
1419 -soundIcsWin filename
1420      This sound is played when you win an ICS game.  Default: "" (no
1421      sound).\r
1422
1423 -soundIcsLoss filename
1424      This sound is played when you lose an ICS game.  Default: "" (no
1425      sound).\r
1426
1427 -soundIcsDraw filename
1428      This sound is played when you draw an ICS game.  Default: "" (no
1429      sound).\r
1430
1431 -soundIcsUnfinished filename
1432      This sound is played when an ICS game that you are participating
1433      in is\r aborted, adjourned, or otherwise ends inconclusively.
1434      Default: "" (no\r sound).\r \r Here is an example of how to set
1435      the sounds in your `.Xresources' file:\r \r
1436           xboard*soundShout: shout.wav\r
1437           xboard*soundSShout: sshout.wav\r
1438           xboard*soundChannel1: channel1.wav\r
1439           xboard*soundChannel: channel.wav\r
1440           xboard*soundKibitz: kibitz.wav\r
1441           xboard*soundTell: tell.wav\r
1442           xboard*soundChallenge: challenge.wav\r
1443           xboard*soundRequest: request.wav\r
1444           xboard*soundSeek: seek.wav\r
1445           xboard*soundMove: move.wav\r
1446           xboard*soundIcsWin: win.wav\r
1447           xboard*soundIcsLoss: lose.wav\r
1448           xboard*soundIcsDraw: draw.wav\r
1449           xboard*soundIcsUnfinished: unfinished.wav\r
1450           xboard*soundIcsAlarm: alarm.wav\r
1451 \r
1452
1453 3.4 Load and Save options
1454 =========================
1455
1456 -lgf or -loadGameFile file
1457 -lgi or -loadGameIndex index
1458      If the `loadGameFile' option is set, XBoard loads the specified\r
1459      game file at startup. The file name `-' specifies the standard\r
1460      input. If there is more than one game in the file, XBoard\r pops
1461      up a menu of the available games, with entries based on their PGN
1462      \r (Portable Game Notation) tags.\r If the `loadGameIndex' option
1463      is set to `N', the menu is suppressed\r and the N th game found in
1464      the file is loaded immediately.\r The menu is also suppressed if
1465      `matchMode' is enabled or if the game file\r is a pipe; in these
1466      cases the first game in the file is loaded immediately.\r Use the
1467      `pxboard' shell script provided with XBoard if you\r want to pipe
1468      in files containing multiple games and still see the menu.\r If
1469      the loadGameIndex specifies an index -1, this triggers
1470      auto-increment\r of the index in `matchMode', which means that
1471      after every game the\r index is incremented by one, causing each
1472      game of the match to be played\r from the next game in the file.
1473      Similarly, specifying an index value of -2\r causes the index to
1474      be incremented every two games, so that each game\r in the file is
1475      used twice (with reversed colors).\r The `rewindIndex' option
1476      causes the index to be reset to the\r first game of the file when
1477      it has reached a specified value.\r
1478
1479 -rewindIndex n
1480      Causes a position file or game file to be rewound to its beginning
1481      after n\r positions or games in auto-increment `matchMode'. \r See
1482      `loadPositionIndex' and `loadGameIndex'.\r default: 0 (no
1483      rewind).\r
1484
1485 -td or -timeDelay seconds
1486      Time delay between moves during `Load Game'. Fractional seconds\r
1487      are allowed; try `-td 0.4'. A time delay value of -1 tells\r
1488      XBoard not to step through game files automatically. Default: 1\r
1489      second.\r
1490
1491 -sgf or -saveGameFile file
1492      If this option is set, XBoard appends a record of every game\r
1493      played to the specified file. The file name `-' specifies the\r
1494      standard output.\r
1495
1496 -autosave/-xautosave or -autoSaveGames true/false
1497      Sets the Auto Save menu option.  *Note Options Menu::.  Default:
1498      false.\r Ignored if `saveGameFile' is set.\r
1499
1500 -lpf or -loadPositionFile file
1501 -lpi or -loadPositionIndex index
1502      If the `loadPositionFile' option is set, XBoard loads the\r
1503      specified position file at startup. The file name `-' specifies
1504      the\r standard input. If the `loadPositionIndex' option is set to
1505      N,\r the Nth position found in the file is loaded; otherwise the\r
1506      first position is loaded.\r If the loadPositionIndex specifies an
1507      index -1, this triggers auto-increment\r of the index in
1508      `matchMode', which means that after every game the\r index is
1509      incremented by one, causing each game of the match to be played\r
1510      from the next position in the file. Similarly, specifying an index
1511      value of -2\r causes the index to be incremented every two games,
1512      so that each position\r in the file is used twice (with the
1513      engines playing opposite colors).\r The `rewindIndex' option
1514      causes the index to be reset to the\r first position of the file
1515      when it has reached a specified value.\r
1516
1517 -spf or -savePositionFile file
1518      If this option is set, XBoard appends the final position reached\r
1519      in every game played to the specified file. The file name `-'\r
1520      specifies the standard output.\r
1521
1522 -pgnExtendedInfo true/false
1523      If this option is set, WinBoard saves depth, score and time used
1524      for each \r move that the engine found as a comment in the PGN
1525      file.\r Default: false.\r
1526
1527 -pgnEventHeader string
1528      Sets the name used in the PGN event tag to string. \r Default:
1529      "Computer Chess Game".\r
1530
1531 -saveOutOfBookInfo true/false
1532      Include the information on how the engine(s) game out of its
1533      opening book in a special 'annotator' tag with the PGN file.\r
1534
1535 -oldsave/-xoldsave or -oldSaveStyle true/false
1536      Sets the Old Save Style menu option.  *Note Options Menu::.
1537      Default: false.\r
1538
1539 -gameListTags string
1540      The character string lists the PGN tags that should be printed in
1541      the\r Game List, and their order. The meaning of the codes is
1542      e=event,\r s=site, d=date, o=round, p=players, r=result, w=white
1543      Elo, b=black Elo,\r t=time control, v=variant, a=out-of-book
1544      info.\r Default: "eprd"\r
1545 \r
1546
1547 3.5 User interface options
1548 ==========================
1549
1550 -display
1551 -geometry
1552 -iconic
1553      These and most other standard Xt options are accepted.\r
1554
1555 -noGUI
1556      Suppresses all GUI functions of XBoard \r (to speed up automated
1557      ultra-fast engine-engine games, which you donÂ’t want to watch). \r
1558      There will be no board or clock updates, no printing of moves, \r
1559      and no update of the icon on the task bar in this mode.\r
1560
1561 -movesound/-xmovesound or -ringBellAfterMoves true/false
1562      Sets the Move Sound menu option.  *Note Options Menu::.  Default:
1563      false.\r For compatibility with old XBoard versions, -bell/-xbell
1564      are also \r accepted as abbreviations for this option.\r
1565
1566 -exit/-xexit or -popupExitMessage true/false
1567      Sets the Popup Exit Message menu option.  *Note Options Menu::.
1568      Default: true.\r
1569
1570 -popup/-xpopup or -popupMoveErrors true/false
1571      Sets the Popup Move Errors menu option.  *Note Options Menu::.
1572      Default: false.\r
1573
1574 -queen/-xqueen or -alwaysPromoteToQueen true/false
1575      Sets the Always Queen menu option.  *Note Options Menu::.
1576      Default: false.\r
1577
1578 -legal/-xlegal or -testLegality true/false
1579      Sets the Test Legality menu option.  *Note Options Menu::.
1580      Default: true.\r
1581
1582 -size or -boardSize (sizeName | n1,n2,n3,n4,n5,n6,n7)
1583      Determines how large the board will be, by selecting the pixel
1584      size\r of the pieces and setting a few related parameters.\r The
1585      sizeName can be one of: Titanic, giving 129x129 pixel pieces,\r
1586      Colossal 116x116, Giant 108x108, Huge 95x95, Big 87x87, Large
1587      80x80, Bulky 72x72,\r Medium 64x64, Moderate 58x58, Average 54x54,
1588      Middling 49x49, Mediocre\r 45x45, Small 40x40, Slim 37x37, Petite
1589      33x33, Dinky 29x29, Teeny 25x25,\r or Tiny 21x21.\r Pieces of all
1590      these sizes are built into XBoard.\r Other sizes can\r be used if
1591      you have them; see the pixmapDirectory and bitmapDirectory\r
1592      options.\r The default depends on the size of your screen; it is
1593      approximately the\r largest size that will fit without clipping.\r
1594      \r You can select other sizes or vary other layout parameters by
1595      providing\r a list of comma-separated values (with no spaces) as
1596      the argument.\r You do not need to provide all the values; for any
1597      you omit from the\r end of the list, defaults are taken from the
1598      nearest built-in size.\r The value `n1' gives the piece size, `n2'
1599      the width of the\r black border\r between squares, `n3' the
1600      desired size for the \r clockFont, `n4' the desired size for the
1601      coordFont,\r `n5' the desired size for the default font,\r `n6'
1602      the smallLayout flag (0 or 1), \r and `n7' the tinyLayout flag (0
1603      or 1).  \r All dimensions are in pixels.\r If the border between
1604      squares is eliminated (0 width), the various\r highlight options
1605      will not work, as there is nowhere to draw the highlight.\r If
1606      smallLayout is 1 and `titleInWindow' is true, \r the window layout
1607      is rearranged to make more room for the title.\r If tinyLayout is
1608      1, the labels on the menu bar are abbreviated\r to one character
1609      each and the buttons in the button bar are made narrower.\r
1610
1611 -coords/-xcoords or -showCoords true/false
1612      Sets the Show Coords menu option.  *Note Options Menu::.  Default:
1613      false.\r The `coordFont' option specifies what font to use.\r
1614
1615 -autoraise/-xautoraise or -autoRaiseBoard true/false
1616      Sets the Auto Raise Board menu option.  *Note Options Menu::.
1617      Default: true.\r
1618
1619 -autoflip/-xautoflip or -autoFlipView true/false
1620      Sets the Auto Flip View menu option.  *Note Options Menu::.
1621      Default: true.\r
1622
1623 -flip/-xflip or -flipView true/false
1624      If Auto Flip View is not set, or if you are observing but not
1625      participating\r in a game, then the positioning of the board at
1626      the start of each game\r depends on the flipView option.  If
1627      flipView is false (the default),\r the board is positioned so that
1628      the white pawns move from the bottom to the\r top; if true, the
1629      black pawns move from the bottom to the top.\r In any case, the
1630      Flip menu option (see *note Options Menu::)\r can be used to flip
1631      the board after\r the game starts.\r
1632
1633 -title/-xtitle or -titleInWindow true/false
1634      If this option is true, XBoard displays player names (for ICS\r
1635      games) and game file names (for `Load Game') inside its main\r
1636      window. If the option is false (the default), this information is\r
1637      displayed only in the window banner. You probably won't want to\r
1638      set this option unless the information is not showing up in the\r
1639      banner, as happens with a few X window managers.\r
1640
1641 -buttons/-xbuttons or -showButtonBar True/False
1642      If this option is False, xboard omits the [<<] [<] [P] [>] [>>]
1643      button\r bar from the window, allowing the message line to be
1644      wider.  You can\r still get the functions of these buttons using
1645      the menus or their keyboard\r shortcuts.  Default: true.\r
1646
1647 -mono/-xmono or -monoMode true/false
1648      Determines whether XBoard displays its pieces and squares with\r
1649      two colors (true) or four (false). You shouldn't have to\r specify
1650      `monoMode'; XBoard will determine if it is necessary.\r
1651
1652 -flashCount count
1653 -flashRate rate
1654 -flash/-xflash
1655      These options enable flashing of pieces when they\r land on their
1656      destination square.\r `flashCount'\r tells XBoard how many times
1657      to flash a piece after it\r lands on its destination square.\r
1658      `flashRate'\r controls the rate of flashing (flashes/sec).\r
1659      Abbreviations:\r `flash'\r sets flashCount to 3.\r `xflash'\r sets
1660      flashCount to 0.\r Defaults:  flashCount=0 (no flashing),
1661      flashRate=5.\r
1662
1663 -highlight/-xhighlight or -highlightLastMove true/false
1664      Sets the Highlight Last Move menu option. *Note Options Menu::.
1665      Default: false.\r
1666
1667 -blind/-xblind or -blindfold true/false
1668      Sets the Blindfold menu option.  *Note Options Menu::.  Default:
1669      false.\r
1670
1671 -clockFont font
1672      The font used for the clocks. If the option value is a pattern\r
1673      that does not specify the font size, XBoard tries to choose an\r
1674      appropriate font for the board size being used.\r Default:
1675      -*-helvetica-bold-r-normal-*-*-*-*-*-*-*-*.\r
1676
1677 -coordFont font
1678      The font used for rank and file coordinate labels if `showCoords'\r
1679      is true. If the option value is a pattern that does not specify\r
1680      the font size, XBoard tries to choose an appropriate font for\r
1681      the board size being used.\r Default:
1682      -*-helvetica-bold-r-normal-*-*-*-*-*-*-*-*.\r
1683
1684 -font font
1685      The font used for popup dialogs, menus, comments, etc.\r If the
1686      option value is a pattern that does not specify\r the font size,
1687      XBoard tries to choose an appropriate font for\r the board size
1688      being used.\r Default:
1689      -*-helvetica-medium-r-normal-*-*-*-*-*-*-*-*.\r
1690
1691 -fontSizeTolerance tol
1692      In the font selection algorithm, a nonscalable font will be
1693      preferred\r over a scalable font if the nonscalable font's size
1694      differs\r by `tol' pixels\r or less from the desired size.  A
1695      value of -1 will force\r a scalable font to always be used if
1696      available; a value of 0 will\r use a nonscalable font only if it
1697      is exactly the right size; \r a large value (say 1000) will force
1698      a nonscalable font to always be\r used if available.  Default: 4.\r
1699
1700 -bm or -bitmapDirectory dir
1701 -pixmap or -pixmapDirectory dir
1702      These options control what piece images xboard uses.  The XBoard\r
1703      distribution includes one set of pixmap pieces in xpm format, in
1704      the\r directory `pixmaps', and one set of bitmap pieces in xbm
1705      format,\r in the directory `bitmaps'.  Pixmap\r pieces give a
1706      better appearance on the screen: the white pieces have\r dark
1707      borders, and the black pieces have opaque internal details.  With\r
1708      bitmaps, neither piece color has a border, and the internal
1709      details\r are transparent; you see the square color or other
1710      background color\r through them.\r \r If XBoard is configured and
1711      compiled on a system that includes libXpm,\r the X pixmap library,
1712      the xpm pixmap pieces are compiled in as the\r default.  A
1713      different xpm piece set can be selected at runtime with\r the
1714      `pixmapDirectory' option, or a bitmap piece set can be selected\r
1715      with the `bitmapDirectory' option.\r \r If XBoard is configured
1716      and compiled on a system that does not include\r libXpm (or the
1717      `--disable-xpm' option is given to the configure\r program), the
1718      bitmap pieces are compiled in as the default.  It is not\r
1719      possible to use xpm pieces in this case, but pixmap pieces in
1720      another\r format called "xim" can be used by giving the
1721      `pixmapDirectory' option.\r Or again, a different bitmap piece set
1722      can be selected with the\r `bitmapDirectory' option.\r \r Files in
1723      the `bitmapDirectory' must be named as follows:\r The first
1724      character of a piece bitmap name gives the piece it \r represents
1725      (`p', `n', `b', `r', `q', or `k'),\r the next characters give the
1726      size in pixels, the\r following character indicates whether the
1727      piece is\r solid or outline (`s' or `o'),\r and the extension is
1728      `.bm'.\r For example, a solid 80x80 knight would be named
1729      `n80s.bm'.\r The outline bitmaps are used only in monochrome
1730      mode.\r If bitmap pieces are compiled in and the bitmapDirectory
1731      is missing\r some files, the compiled in pieces are used instead.\r
1732      \r If the bitmapDirectory option is given,\r it is also possible
1733      to replace xboard's icons and menu checkmark,\r by supplying files
1734      named `icon_white.bm', `icon_black.bm', and\r `checkmark.bm'.\r \r
1735      For more information about pixmap pieces and how to get
1736      additional\r sets, see *note zic2xpm:: below.\r
1737
1738 -whitePieceColor color
1739 -blackPieceColor color
1740 -lightSquareColor color
1741 -darkSquareColor color
1742 -highlightSquareColor color
1743      Colors to use for the pieces, squares, and square highlights.\r
1744      Defaults:\r \r
1745           -whitePieceColor       #FFFFCC\r
1746           -blackPieceColor       #202020\r
1747           -lightSquareColor      #C8C365\r
1748           -darkSquareColor       #77A26D\r
1749           -highlightSquareColor  #FFFF00\r
1750           -premoveHighlightColor #FF0000\r
1751      \r On a grayscale monitor you might prefer:\r \r
1752           -whitePieceColor       gray100\r
1753           -blackPieceColor       gray0\r
1754           -lightSquareColor      gray80\r
1755           -darkSquareColor       gray60\r
1756           -highlightSquareColor  gray100\r
1757           -premoveHighlightColor gray70\r
1758
1759 -drag/-xdrag or -animateDragging true/false
1760      Sets the Animate Dragging menu option. *Note Options Menu::.
1761      Default: true.\r
1762
1763 -animate/-xanimate or -animateMoving true/false
1764      Sets the Animate Moving menu option. *Note Options Menu::.
1765      Default: true.\r
1766
1767 -animateSpeed n
1768      Number of milliseconds delay between each animation frame when
1769      Animate\r Moves is on.\r
1770 \r
1771
1772 3.6 Adjudication Options
1773 ========================
1774
1775 -adjudicateLossThreshold n
1776      If the given value is non-zero, XBoard adjudicates the game as a
1777      loss \r if both engines agree for a duration of 6 consecutive ply
1778      that the score \r is below the given score threshold for that
1779      engine. Make sure the score \r is interpreted properly by XBoard,
1780      \r using `-firstScoreAbs' and `-secondScoreAbs' if needed. \r
1781      Default: 0 (no adjudiction)\r
1782
1783 -adjudicateDrawMoves n
1784      If the given value is non-zero, XBoard adjudicates the game as a
1785      draw \r if after the given number of moves it was not yet decided.
1786      Defaut: 0 (no adjudication)\r
1787
1788 -checkMates true/false
1789      If this option is set, XBoard detects all checkmates and
1790      stalemates, \r and ends the game as soon as they occur. \r
1791      Legality-testing must be switched on for this option to work.\r
1792      Default: true\r
1793
1794 -testClaims true/false
1795      If this option is set, XBoard verifies all result claims made by
1796      engines, \r and those who send false claims will forfeit the game
1797      because of it. \r Legality-testing must be switched on for this
1798      option to work. Default: true\r
1799
1800 -materialDraws true/false
1801      If this option is set, XBoard adjudicates games as draws when
1802      there is \r no sufficient material left to inflict a checkmate. \r
1803      This applies to KBKB with like bishops (any number, actually), and
1804      to KBK, KNK and KK. \r Legality-testing must be switched on for
1805      this option to work. Default: true\r
1806
1807 -trivialDraws true/false
1808      If this option is set, XBoard adjudicates games as draws that
1809      cannot be \r usually won without opponent cooperation. This
1810      applies to KBKB with unlike bishops, \r and to KBKN, KNKN, KNNK,
1811      KRKR and KQKQ. The draw is called after 6 ply into these
1812      end-games, \r to allow quick mates that can occur in some
1813      exceptional positions to be found by the engines. \r KQKQ does not
1814      really belong in this category, and might be taken out in the
1815      future. \r (When bitbase-based adjudications are implemented.) \r
1816      Legality-testing must be on for this option to work. Default:
1817      false\r
1818
1819 -ruleMoves n
1820      If the given value is non-zero, XBoard adjudicates the game as a
1821      draw after the given \r number of consecutive reversible moves.
1822      Engine draw claims are always accepted after 50 moves, \r
1823      irrespective of the given value of n.\r
1824
1825 -repeatsToDraw n
1826      If the given value is non-zero, xboard adjudicates the game as a
1827      draw if a position \r is repeated the given number of times.
1828      Engines draw claims are always accepted after 3 repeats, \r (on
1829      the 3rd occurrence, actually), irrespective of the value of n. \r
1830      Beware that positions that have different castling or en-passant
1831      rights do not count \r as repeats, XBoard is fully e.p. and
1832      castling aware!\r
1833 \r
1834
1835 3.7 Other options
1836 =================
1837
1838 -ncp/-xncp or -noChessProgram true/false
1839      If this option is true, XBoard acts as a passive chessboard; it\r
1840      does not start a chess engine at all. Turning on this option\r
1841      also turns off clockMode. Default: false.\r
1842
1843 -mode or -initialMode modename
1844      If this option is given, XBoard selects the given modename\r from
1845      the Mode menu after starting and (if applicable) processing the\r
1846      loadGameFile or loadPositionFile option. Default: "" (no
1847      selection). \r Other supported values are \r MachineWhite,
1848      MachineBlack, TwoMachines, Analysis, \r AnalyzeFile, EditGame,
1849      EditPosition, and Training.\r
1850
1851 -variant varname
1852      Activates preliminary, partial support for playing chess variants\r
1853      against a local engine or editing variant games.  This flag is
1854      not\r needed in ICS mode.  Recognized variant names are:\r \r
1855           normal        Normal chess\r
1856           wildcastle    Shuffle chess, king can castle from d file\r
1857           nocastle      Shuffle chess, no castling allowed\r
1858           fischerandom  Fischer Random shuffle chess\r
1859           bughouse      Bughouse, ICC/FICS rules\r
1860           crazyhouse    Crazyhouse, ICC/FICS rules\r
1861           losers        Lose all pieces or get mated (ICC wild 17)\r
1862           suicide       Lose all pieces including king (FICS)\r
1863           giveaway      Try to have no legal moves (ICC wild 26)\r
1864           twokings      Weird ICC wild 9\r
1865           kriegspiel    Opponent's pieces are invisible\r
1866           atomic        Capturing piece explodes (ICC wild 27)\r
1867           3check        Win by giving check 3 times (ICC wild 25)\r
1868           shatranj      An ancient precursor of chess (ICC wild 28)\r
1869           xiangqi       Chinese Chess (on a 9x10 board)\r
1870           shogi         Japanese Chess (on a 9x9 board & piece drops) \r
1871           capablanca    Capablanca Chess (10x8 board, with Archbishop \r
1872                         and Chancellor pieces)\r
1873           gothic        similar, with a better initial position\r
1874           caparandom    An FRC-like version of Capablanca Chess (10x8) \r
1875           janus         A game with two Archbishops (10x8 board)\r
1876           courier       Medieval intermedite between shatranj and \r
1877                         modern Chess (on 12x8 board) \r
1878           falcon        Patented 10x8 variant with two Falcon pieces\r
1879           berolina      Pawns capture straight ahead, and move diagonal \r
1880           cylinder      Pieces wrap around the board edge\r
1881           knightmate    King moves as Knight, and vice versa \r
1882           super         Superchess (shuffle variant with 4 exo-pieces)\r
1883           fairy         A catchall variant in which all piece types \r
1884                         known to XBoard can participate (8x8)\r
1885           unknown       Catchall for other unknown variants\r
1886      \r In the shuffle variants, XBoard now does shuffle the pieces,
1887      although\r you can still do it by hand using Edit Position.  Some
1888      variants are\r supported only in ICS mode, including bughouse,
1889      and\r kriegspiel.  The winning/drawing conditions in crazyhouse
1890      (offboard\r interposition on mate), losers, suicide, giveaway,
1891      atomic, and 3check\r are not fully understood.  \r Berolina and
1892      cylinder chess can only be played with legality testing off.\r In
1893      crazyhouse, XBoard now does keep\r track of offboard pieces.  In
1894      shatranj it does implement the baring\r rule when mate detection
1895      is switched on.\r
1896
1897 -boardHeight N
1898      Allows you to set a non-standard number of board ranks in any
1899      variant. \r If the height is given as -1, the default height for
1900      the variant is used.\r Default: -1\r
1901
1902 -boardWidth N
1903      Allows you to set a non-standard number of board files in any
1904      variant. \r If the width is given as -1, the default width for the
1905      variant is used. \r With a non-standard width, the initial
1906      position will always be an empty board, \r as the usual opening
1907      array will not fit.\r Default: -1\r
1908
1909 -holdingsSize N
1910      Allows you to set a non-standard size for the holdings in any
1911      variant. \r If the size is given as -1, the default holdings size
1912      for the variant is used. \r The first N piece types will go into
1913      the holdings on capture, and you will be \r able to drop them on
1914      the board in stead of making a normal move. If size equals 0, \r
1915      there will be no holdings.\r Default: -1\r
1916
1917 -defaultFrcPosition N
1918      Specifies the number of the opening position in shuffle games like
1919      Chess960. \r A value of -1 means the position is randomly
1920      generated by XBoard\r at the beginning of every game.\r Default:
1921      -1\r
1922
1923 -pieceToSquareTable string
1924      The characters that are used to represent the piece types XBoard
1925      knows in FEN \r diagrams and SAN moves. The string argument has to
1926      have an even length \r (or it will be ignored), as white and black
1927      pieces have to be given separately \r (in that order). The last
1928      letter for each color will be the King. \r The letters before that
1929      will be PNBRQ and then a whole host of fairy pieces \r in an order
1930      that has not fully crystallized yet (currently FEACWMOHIJGDVSLU, \r
1931      F=Ferz, Elephant, A=Archbishop, C=Chancellor, W=Wazir, M=Commoner,
1932      O=Cannon, \r H=Nightrider). You should list at least all pieces
1933      that occur in the variant \r you are playing. If you have less
1934      than 44 characters in the string, the pieces \r not mentioned will
1935      get assigned a period, and you will not be able to distinguish \r
1936      them in FENs. You can also explicitly assign pieces a period, in
1937      which case they \r will not be counted in deciding which captured
1938      pieces can go into the holdings.\r A tilde '~' as a piece name
1939      does mean this piece is used to represent a promoted \r Pawn in
1940      crazyhouse-like games, i.e. on capture it turns back onto a Pawn.
1941      \r A '+' similarly indicates the piece is a shogi-style promoted
1942      piece, that should \r revert to its non-promoted version on
1943      capture (rather than to a Pawn).\r Note that promoted pieces are
1944      represented by pieces 11 further in the list.\r You should not
1945      have to use this option often: each variant has its own default \r
1946      setting for the piece representation in FEN, which should be
1947      sufficient in normal use.\r Default: ""\r
1948
1949 -debug/-xdebug or -debugMode true/false
1950      Turns on debugging printout.\r
1951
1952 -debugFile filename or -nameOfDebugFile filename
1953      Sets the name of the file to which WinBoard saves debug
1954      information \r (including all communication to and from the
1955      engines).\r
1956
1957 -engineDebugOutput number
1958      Specifies how WinBoard should handle unsolicited output from the
1959      engine, \r with respect to saving it in the debug file. \r The
1960      output is further (hopefully) ignored. \r If number=0, WinBoard
1961      refrains from writing such spurious output to the debug file. \r
1962      If number=1, all engine output is written faithfully to the debug
1963      file. \r If number=2, any protocol-violating line is prefixed with
1964      a Â‘#Â’ character, \r as the engine itself should have done if it
1965      wanted to submit info for inclusion in the debug file.\r This
1966      option is provided for the benefit of applications that use the
1967      debug file \r as a source of information, such as the broadcaster
1968      of live games TLCV / TLCS. \r Such applications can be protected
1969      from spurious engine output that might otherwise confuse them.\r
1970
1971 -rsh or -remoteShell shell-name
1972      Name of the command used to run programs remotely. The default\r
1973      is `rsh' or `remsh', determined when XBoard is\r configured and
1974      compiled.\r
1975
1976 -ruser or -remoteUser user-name
1977      User name on the remote system when running programs with the\r
1978      `remoteShell'. The default is your local user name.\r
1979
1980 -userName username
1981      Name under which the Human player will be listed in the PGN file.
1982      \r Default is the login name on your local computer.\r
1983
1984 -delayBeforeQuit number
1985 -delayAfterQuit number
1986      These options specify how long WinBoard has to wait before sending
1987      a termination signal to rogue engine processes, that do not want
1988      to react to the Â‘quitÂ’ command. The second one determines the
1989      pause after killing the engine, to make sure it dies.\r \r
1990 \r
1991
1992 4 Chess Servers
1993 ***************
1994
1995 An "Internet Chess Server", or "ICS", is a place on the\r Internet
1996 where people can get together to play chess, watch other\r people's
1997 games, or just chat.  You can use either `telnet' or a\r client program
1998 like XBoard to connect to the server.  There are\r thousands of
1999 registered users on the different ICS hosts, and it is\r not unusual to
2000 meet 200 on both chessclub.com and freechess.org.\r \r Most people can
2001 just type `xboard -ics' to start XBoard as an ICS\r client.  Invoking
2002 XBoard in this way connects you to the Internet\r Chess Club (ICC), a
2003 commercial ICS.  You can log in there as a guest\r even if you do not
2004 have a paid account.  To connect to the largest\r Free ICS (FICS), use
2005 the command `xboard -ics -icshost freechess.org'\r instead, or
2006 substitute a different host name to connect to your\r favorite ICS.\r
2007 For a full description of command-line options that control \r the
2008 connection to ICS and change the default values of ICS options, see\r
2009 *note ICS options::.  \r \r While you are running XBoard as an ICS
2010 client,\r you use the terminal window that you started XBoard from\r as
2011 a place to type in commands and read information that is\r not
2012 available on the chessboard.\r \r The first time you need to use the
2013 terminal is to enter your login name\r and password, if you are a
2014 registered player. (You don't need to do\r this manually; the
2015 `icsLogon' option can do it for you.\r *note ICS options::.)  If you
2016 are not registered, \r enter `g' as your name, and the server will pick
2017 a\r unique guest name for you.\r \r Some useful ICS commands\r include\r
2018 `help <topic>'
2019      to get help on the given <topic>. To get a list of possible topics
2020      type\r "help" without topic.  Try the help command before you ask
2021      other\r people on the server for help.\r \r For example `help
2022      register' tells you how to become a registered\r ICS player.\r
2023
2024 `who <flags>'
2025      to see a list of people who are logged on.  Administrators\r
2026      (people you should talk to if you have a problem) are marked\r
2027      with the character `*', an asterisk. The <flags> allow you to\r
2028      display only selected players: For example, `who of' shows a\r
2029      list of players who are interested in playing but do not have\r an
2030      opponent.\r
2031
2032 `games'
2033      to see what games are being played\r
2034
2035 `match <player> [<mins>] [<inc>]'
2036      to challenge another player to a game. Both opponents get <mins>
2037      minutes\r for the game, and <inc> seconds will be added after each
2038      move.\r If another player challenges you, the server asks if you
2039      want to\r accept the challenge; use the `accept' or `decline'
2040      commands\r to answer.\r
2041
2042 `accept'
2043 `decline'
2044      to accept or decline another player's offer. \r The offer may be
2045      to start a new game, or to agree to a \r `draw', `adjourn' or
2046      `abort' the current game. *Note Action Menu::.\r \r If you have
2047      more than one pending offer (for example, if more than one player\r
2048      is challenging you, or if your opponent offers both a draw and to
2049      adjourn the\r game), you have to supply additional information, by
2050      typing something\r like `accept <player>', `accept draw', or
2051      `draw'.\r
2052
2053 `draw'
2054 `adjourn'
2055 `abort'
2056      asks your opponent to terminate a game by mutual agreement.
2057      Adjourned\r games can be continued later. \r Your opponent can
2058      either `decline' your offer or accept it (by typing the\r same
2059      command or typing `accept').  In some cases these commands work\r
2060      immediately, without asking your opponent to agree.  For example,
2061      you can\r abort the game unilaterally if your opponent is out of
2062      time, and you can claim\r a draw by repetition or the 50-move rule
2063      if available simply by typing \r `draw'.\r
2064
2065 `finger <player>'
2066      to get information about the given <player>. (Default: yourself.)\r
2067
2068 `vars'
2069      to get a list of personal settings\r
2070
2071 `set <var> <value>'
2072      to modify these settings\r
2073
2074 `observe <player>'
2075      to observe an ongoing game of the given <player>.\r
2076
2077 `examine'
2078 `oldmoves'
2079      to review a recently completed game\r
2080    \r Some special XBoard features are activated when you are\r in
2081 examine mode on ICS.  See the descriptions of the menu commands\r
2082 `Forward', `Backward', `Pause', `ICS Client', \r and `Stop Examining'
2083 on the *note Step Menu::, *note Mode Menu::, and\r *note Options
2084 Menu::.\r \r
2085
2086 5 Firewalls
2087 ***********
2088
2089 By default, XBoard communicates with an Internet Chess Server\r by
2090 opening a TCP socket directly from the machine it is running on\r to
2091 the ICS. If there is a firewall between your machine and the ICS,\r
2092 this won't work. Here are some recipes for getting around common\r
2093 kinds of firewalls using special options to XBoard.\r Important: See
2094 the paragraph in the below about extra echoes, in\r *note
2095 Limitations::.\r \r Suppose that you can't telnet directly to ICS, but
2096 you can telnet\r to a firewall host, log in, and then telnet from there
2097 to ICS.\r Let's say the firewall is called `firewall.example.com'. Set\r
2098 command-line options as follows:\r \r
2099      xboard -ics -icshost firewall.example.com -icsport 23\r
2100    Or in your `.Xresources' file:\r \r
2101      XBoard*internetChessServerHost: firewall.example.com\r
2102      XBoard*internetChessServerPort: 23\r
2103    Then when you run XBoard in ICS mode, you will be prompted\r to log
2104 in to the firewall host. This works because port 23 is the\r standard
2105 telnet login service. Do so, then telnet to ICS, using a\r command like
2106 `telnet chessclub.com 5000', or whatever command\r the firewall
2107 provides for telnetting to port 5000.\r \r If your firewall lets you
2108 telnet (or rlogin) to remote hosts but\r doesn't let you telnet to port
2109 5000, you may be able to connect to the\r chess server on port 23
2110 instead, which is the port the telnet program\r uses by default.  Some
2111 chess servers support this (including\r chessclub.com and
2112 freechess.org), while some do not.\r \r If your chess server does not
2113 allow connections on port 23 and your\r firewall does not allow you to
2114 connect to other ports, you may be able\r to connect by hopping through
2115 another host outside the firewall that\r you have an account on.  For
2116 instance, suppose you have a shell\r account at `foo.edu'. Follow the
2117 recipe above, but instead of\r typing `telnet chessclub.com 5000' to
2118 the firewall, type\r `telnet foo.edu' (or `rlogin foo.edu'), log in
2119 there, and\r then type `telnet chessclub.com 5000'.\r \r Suppose that
2120 you can't telnet directly to ICS, but you can use rsh\r to run programs
2121 on a firewall host, and that host can telnet to ICS.\r Let's say the
2122 firewall is called `rsh.example.com'. Set\r command-line options as
2123 follows:\r \r
2124      xboard -ics -gateway rsh.example.com -icshost chessclub.com\r
2125    \r Or in your `.Xresources' file:\r \r
2126      XBoard*gateway: rsh.example.com\r
2127      XBoard*internetChessServerHost: chessclub.com\r
2128    \r Then when you run XBoard in ICS mode, it will connect to\r the
2129 ICS by using `rsh' to run the command\r `telnet chessclub.com 5000' on
2130 host `rsh.example.com'.\r \r Suppose that you can telnet anywhere you
2131 want, but you have to\r run a special program called `ptelnet' to do
2132 so.\r \r First, we'll consider the easy case, in which\r `ptelnet
2133 chessclub.com 5000' gets you to the chess server.\r In this case set
2134 command line options as follows:\r \r
2135      xboard -ics -telnet -telnetProgram ptelnet\r
2136    \r Or in your `.Xresources' file:\r \r
2137      XBoard*useTelnet: true\r
2138      XBoard*telnetProgram: ptelnet\r
2139    \r Then when you run XBoard in ICS mode, it will issue the\r command
2140 `ptelnet chessclub.com 5000' to connect to the ICS.\r \r Next, suppose
2141 that `ptelnet chessclub.com 5000' doesn't work;\r that is, your
2142 `ptelnet' program doesn't let you connect to\r alternative ports. As
2143 noted above, your chess server may allow you to\r connect on port 23
2144 instead.  In that case, just add the option\r `-icsport ""' to the
2145 above command, or add\r `XBoard*internetChessServerPort:' to your
2146 `.Xresources' file.\r But if your chess server doesn't let you connect
2147 on port 23, you will have\r to find some other host outside the
2148 firewall and hop through it. For\r instance, suppose you have a shell
2149 account at `foo.edu'. Set\r command line options as follows:\r \r
2150      xboard -ics -telnet -telnetProgram ptelnet -icshost foo.edu -icsport ""\r
2151    \r Or in your `.Xresources' file:\r \r
2152      XBoard*useTelnet: true\r
2153      XBoard*telnetProgram: ptelnet\r
2154      XBoard*internetChessServerHost: foo.edu\r
2155      XBoard*internetChessServerPort:\r
2156    \r Then when you run XBoard in ICS mode, it will issue the\r command
2157 `ptelnet foo.edu' to connect to your account at\r `foo.edu'. Log in
2158 there, then type `telnet chessclub.com 5000'.\r \r ICC timestamp and
2159 FICS timeseal do not work through some\r firewalls.  You can use them
2160 only if your firewall gives a clean TCP\r connection with a full 8-bit
2161 wide path.  If your firewall allows you\r to get out only by running a
2162 special telnet program, you can't use\r timestamp or timeseal across
2163 it.  But if you have access to a\r computer just outside your firewall,
2164 and you have much lower netlag\r when talking to that computer than to
2165 the ICS, it might be worthwhile\r running timestamp there.  Follow the
2166 instructions above for hopping\r through a host outside the firewall
2167 (foo.edu in the example),\r but run timestamp or timeseal on that host
2168 instead of telnet.\r \r Suppose that you have a SOCKS firewall that
2169 will give you a clean\r 8-bit wide TCP connection to the chess server,
2170 but only after you\r authenticate yourself via the SOCKS protocol.  In
2171 that case, you could\r make a socksified version of XBoard and run
2172 that.  If you are using\r timestamp or timeseal, you will to socksify
2173 it, not XBoard; this may\r be difficult seeing that ICC and FICS do not
2174 provide source code for\r these programs.  Socksification is beyond the
2175 scope of this document,\r but see the SOCKS Web site at
2176 http://www.socks.permeo.com/.\r If you are missing SOCKS, try
2177 http://www.funbureau.com/.\r \r
2178
2179 6 Environment variables
2180 ***********************
2181
2182 Game and position files are found in a directory named by the\r
2183 `CHESSDIR' environment variable. If this variable is not set, the\r
2184 current working directory is used. If `CHESSDIR' is set,\r XBoard
2185 actually changes its working directory to\r `$CHESSDIR', so any files
2186 written by the chess engine\r will be placed there too.\r \r
2187
2188 7 Limitations and known bugs
2189 ****************************
2190
2191 There is no way for two people running copies of XBoard to play\r each
2192 other without going through an Internet Chess Server.\r \r Under some
2193 circumstances, your ICS password may be echoed when you log on.\r \r If
2194 you are connecting to the ICS by running telnet on an Internet\r
2195 provider or firewall host, you may find that each line you type is\r
2196 echoed back an extra time after you hit <Enter>. If your Internet\r
2197 provider is a Unix system, you can probably turn its echo off by\r
2198 typing `stty -echo' after you log in, and/or typing\r <^E><Enter>
2199 (Ctrl+E followed by the Enter key) to the telnet\r program after you
2200 have logged into ICS.  It is a good idea to do this\r if you can,
2201 because the extra echo can occasionally confuse XBoard's\r parsing
2202 routines.\r \r The game parser recognizes only algebraic notation.\r \r
2203 Many of the following points used to be limitations in XBoard 4.2.7 and
2204 earlier, \r but are now fixed:\r The internal move legality tester in
2205 XBoard 4.3.xx does look at the game history, \r and is fully aware of
2206 castling or en-passant-capture rights. It permits castling with \r the
2207 king on the d file because this is possible in some "wild 1" games on
2208 ICS. \r The piece-drop menu does not check piece drops in bughouse to
2209 see if you actually hold \r the piece you are trying to drop. But this
2210 way of dropping pieces should be considered \r an obsolete feature, now
2211 that pieces can be dropped by dragging them from the holdings \r to the
2212 board. Anyway, if you would attempt an illegal move when using a chess
2213 engine or the ICS, \r WinBoard will accept the error message that comes
2214 back, undo the move, and let you try another.\r FEN positions saved by
2215 XBoard do include correct information about whether castling or \r en
2216 passant are legal, and also handle the 50-move counter.\r The mate
2217 detector does not understand that non-contact mate is not really mate
2218 in bughouse. \r The only problem this causes while playing is minor: a
2219 "#" (mate indicator) character will \r show up after a non-contact
2220 mating move in the move list. XBoard will not assume the game \r is
2221 over at that point, not even when the option Detect Mates is on.\r Edit
2222 Game mode always uses the rules of the selected variant, \r which can
2223 be a variant that uses piece drops.  \r You can load and edit games
2224 that contain piece drops. \r The (obsolete) piece menus are not active,
2225 \r but you can perform piece drops by dragging pieces from the
2226 holdings.\r Edit Position mode does not allow you to edit the
2227 crazyhouse holdings properly. \r You cannot drag pieces to the holding,
2228 and using the popup menu to put pieces \r there does not adapt the
2229 holding counts and leads to an inconsistent state. \r Set up crazyhouse
2230 positions by loading / pasting a bFEN, from there you can set the
2231 holdings.\r Fischer Random castling is fully understood. \r You can
2232 enter castlings by dragging the King on top of your Rook. \r You can
2233 probably also play Fischer Random successfully on ICS by typing \r
2234 castling moves into the ICS Interaction window.\r \r The menus may not
2235 work if your keyboard is in Caps Lock or Num Lock mode.\r This seems to
2236 be a problem with the Athena menu widget,\r not an XBoard bug.\r \r
2237 Also see the ToDo file included with the distribution for many other\r
2238 possible bugs, limitations, and ideas for improvement that have been\r
2239 suggested.\r
2240
2241 8 Reporting problems
2242 ********************
2243
2244 \r Report bugs and problems with XBoard to `<bug-xboard@gnu.org>'.\r \r
2245 Please use the `script' program to start a typescript, run \r XBoard
2246 with the `-debug' option, and include the typescript\r output in your
2247 message.\r Also tell us what kind of machine and what operating system
2248 version\r you are using.  The command `uname -a' will often tell you
2249 this.\r Here is a sample of approximately what you should type:\r \r
2250      script\r
2251      uname -a\r
2252      ./configure\r
2253      make\r
2254      ./xboard -debug\r
2255      exit\r
2256      mail bug-xboard@gnu.org\r
2257      Subject: Your short description of the problem\r
2258      Your detailed description of the problem\r
2259      ~r typescript\r
2260      .\r
2261    \r The WinBoard / XBoard 4.3 line is being developed by H.G. Muller
2262 \r independently of the GNU Savannah xboard project. \r Bug reports on
2263 this version, and suggestions for improvements and additions, \r are
2264 best posted in the WinBoard forum, \r WinBoard-development section
2265 (http://www.open-aurec.com/wbforum). \r \r If you improve XBoard,
2266 please send a message about your changes,\r and we will get in touch
2267 with you about merging them in\r to the main line of development.\r
2268 Also see our Web site at http://savannah.gnu.org/projects/xboard/.\r \r
2269
2270 9 Authors and contributors
2271 **************************
2272
2273 \r Tim Mann has been responsible for XBoard versions 1.3 and beyond,
2274 and\r for WinBoard, a port of XBoard to Microsoft Win32 (Windows NT
2275 and\r Windows 95). H.G.Muller is responsible for version 4.3.\r \r Mark
2276 Williams contributed the initial (WinBoard-only) implementation\r of
2277 many new features added to both XBoard and WinBoard in version\r 4.1.0,
2278 including copy/paste, premove, icsAlarm, autoFlipView, training\r mode,
2279 auto raise, and blindfold.  Ben Nye contributed X copy/paste\r code for
2280 XBoard.\r \r Hugh Fisher added animated piece movement to XBoard, and
2281 Henrik Gram\r (henrikg@funcom.com) added it to WinBoard.  Frank
2282 McIngvale added\r click/click moving, the Analysis modes, piece
2283 flashing, ZIICS import,\r and ICS text colorization to XBoard.  Jochen
2284 Wiedmann ported XBoard to\r the Amiga, creating AmyBoard, and converted
2285 the documentation to\r texinfo.  Elmar Bartel contributed the new piece
2286 bitmaps introduced in\r version 3.2.  John Chanak contributed the
2287 initial implementation of\r ICS mode.  The color scheme and the old
2288 80x80 piece bitmaps were taken\r from Wayne Christopher's `XChess'
2289 program.\r \r Chris Sears and Dan Sears wrote the original XBoard.
2290 They were\r responsible for versions 1.0 through 1.2.\r \r Evan Welsh
2291 wrote `CMail'.  Patrick Surry helped in designing,\r testing, and
2292 documenting CMail.\r \r Allessandro Scotti added many elements to the
2293 user interface of WinBoard, \r including the board textures and
2294 font-based rendering, the evaluation-graph, \r move-history and
2295 engine-output window. \r He was also responsible for adding the UCI
2296 support. \r \r H.G. Muller made WinBoard castling- and e.p.-aware, \r
2297 added variant support with adjustable board sizes, \r the crazyhouse
2298 holdings, and the fairy pieces. \r In addition he added most of the
2299 adjudication options, \r made WinBoard more robust in dealing with
2300 buggy and crashing engines, \r and extended time control with a
2301 time-odds and node-count-based modes.\r Most of the options that
2302 initially wre WinBoard only have now been back-ported to XBoard.\r \r
2303 Michel van den Bergh provided the code for reading Polyglot opening
2304 books.\r \r Arun Persaud worked with H.G. Muller to combine all the
2305 features of the never-released WinBoard 4.2.8 \r of the Savannah
2306 project (mainly by Daniel Mehrmann), \r and the never-released 4.3.16
2307 into a unified WinBoard 4.4, \r which is now available both from the
2308 Savannah web site and the WinBoard forum.\r
2309
2310 10 CMail
2311 ********
2312
2313 The `cmail' program can help you play chess by email with opponents of\r
2314 your choice using XBoard as an interface.\r \r You will usually run
2315 `cmail' without giving any options.\r \r \r
2316
2317 10.1 CMail options
2318 ==================
2319
2320 -h
2321      Displays `cmail' usage information.\r
2322
2323 -c
2324      Shows the conditions of the GNU General Public License.\r *Note
2325      Copying::.\r
2326
2327 -w
2328      Shows the warranty notice of the GNU General Public License.\r
2329      *Note Copying::.\r
2330
2331 -v
2332 -xv
2333      Provides or inhibits verbose output from `cmail' and XBoard,\r
2334      useful for debugging. The\r `-xv'\r form also inhibits the cmail
2335      introduction message.\r
2336
2337 -mail
2338 -xmail
2339      Invokes or inhibits the sending of a mail message containing the
2340      move.\r
2341
2342 -xboard
2343 -xxboard
2344      Invokes or inhibits the running of XBoard on the game file.\r
2345
2346 -reuse
2347 -xreuse
2348      Invokes or inhibits the reuse of an existing XBoard to display
2349      the\r current game.\r
2350
2351 -remail
2352      Resends the last mail message for that game. This inhibits
2353      running\r XBoard.\r
2354
2355 -game <name>
2356      The name of the game to be processed.\r
2357
2358 -wgames <number>
2359 -bgames <number>
2360 -games <number>
2361      Number of games to start as White, as Black or in total. Default
2362      is 1 as\r white and none as black. If only one color is specified
2363      then none of the\r other color is assumed. If no color is
2364      specified then equal numbers of\r White and Black games are
2365      started, with the extra game being as White if an\r odd number of
2366      total games is specified.\r
2367
2368 -me <short name>
2369 -opp <short name>
2370      A one-word alias for yourself or your opponent.\r
2371
2372 -wname <full name>
2373 -bname <full name>
2374 -name <full name>
2375 -oppname <full name>
2376      The full name of White, Black, yourself or your opponent.\r
2377
2378 -wna <net address>
2379 -bna <net address>
2380 -na <net address>
2381 -oppna <net address>
2382      The email address of White, Black, yourself or your opponent.\r
2383
2384 -dir <directory>
2385      The directory in which `cmail' keeps its files. This defaults to
2386      the\r environment variable `$CMAIL_DIR' or failing that,
2387      `$CHESSDIR',\r `$HOME/Chess' or `~/Chess'. It will be created if
2388      it does not exist.\r
2389
2390 -arcdir <directory>
2391      The directory in which `cmail' archives completed games. Defaults
2392      to\r the environment variable `$CMAIL_ARCDIR' or, in its absence,
2393      the same\r directory as cmail keeps its working files (above).\r
2394
2395 -mailprog <mail program>
2396      The program used by cmail to send email messages. This defaults to
2397      the\r environment variable `$CMAIL_MAILPROG' or failing that\r
2398      `/usr/ucb/Mail', `/usr/ucb/mail' or `Mail'. You will need\r to set
2399      this variable if none of the above paths fit your system.\r
2400
2401 -gamesFile <file>
2402      A file containing a list of games with email addresses. This
2403      defaults to\r the environment variable `$CMAIL_GAMES' or failing
2404      that\r `.cmailgames'.\r
2405
2406 -aliasesFile <file>
2407      A file containing one or more aliases for a set of email
2408      addresses. This\r defaults to the environment variable
2409      `$CMAIL_ALIASES' or failing\r that `.cmailaliases'.\r
2410
2411 -logFile <file>
2412      A file in which to dump verbose debugging messages that are
2413      invoked with\r the `-v'\r option.\r
2414
2415 -event <event>
2416      The PGN Event tag (default `Email correspondence game').\r
2417
2418 -site <site>
2419      The PGN Site tag (default `NET').\r
2420
2421 -round <round>
2422      The PGN Round tag (default `-', not applicable).\r
2423
2424 -mode <mode>
2425      The PGN Mode tag (default `EM', Electronic Mail).\r
2426
2427 Other options
2428      Any option flags not listed above are passed through to XBoard.\r
2429      Invoking XBoard through CMail changes the default values of two
2430      XBoard\r options: The default value for `-noChessProgram' is
2431      changed to\r true; that is, by default no chess engine is started.
2432      The default\r value for `-timeDelay' is changed to 0; that is, by
2433      default\r XBoard immediately goes to the end of the game as played
2434      so far,\r rather than stepping through the moves one by one.  You
2435      can still set\r these options to whatever values you prefer by
2436      supplying them on\r CMail's command line.  *Note Options::.\r
2437 \r
2438
2439 10.2 Starting a CMail Game
2440 ==========================
2441
2442 Type `cmail' from a shell to start a game as white. After an opening\r
2443 message, you will be prompted for a game name, which is optional--if
2444 you\r simply press <Enter>, the game name will take the form\r
2445 `you-VS-opponent'. You will next be prompted for the short name\r of
2446 your opponent. If you haven't played this person before, you will also\r
2447 be prompted for his/her email address. `cmail' will then invoke\r
2448 XBoard in the background. Make your first move and select\r `Mail Move'
2449 from the `File' menu. *Note File Menu::. If all is well,\r `cmail' will
2450 mail a copy of the move to your opponent. If you select\r `Exit'
2451 without having selected `Mail Move' then no move will be\r made.\r \r
2452
2453 10.3 Answering a Move
2454 =====================
2455
2456 When you receive a message from an opponent containing a move in one
2457 of\r your games, simply pipe the message through `cmail'. In some
2458 mailers\r this is as simple as typing `| cmail' when viewing the
2459 message, while in\r others you may have to save the message to a file
2460 and do `cmail < file'\r at the command line. In either case `cmail'
2461 will display the game using\r XBoard. If you didn't exit XBoard when
2462 you made your first move\r then `cmail' will do its best to use the
2463 existing XBoard instead\r of starting a new one. As before, simply make
2464 a move and select\r `Mail Move' from the `File' menu. *Note File
2465 Menu::. `cmail'\r will try to use the\r XBoard that was most recently
2466 used to display the current game. This\r means that many games can be
2467 in progress simultaneously, each with its own\r active XBoard.\r \r If
2468 you want to look at the history or explore a variation, go ahead, but\r
2469 you must return to the current position before XBoard will allow you\r
2470 to mail a move. If you edit the game's history you must select\r
2471 `Reload Same Game' from the `File' menu to get back to the original\r
2472 position, then make the move you want and select `Mail Move'.\r As
2473 before, if you decide you aren't ready to make a move just yet you can\r
2474 either select `Exit' without sending a move or just leave\r XBoard
2475 running until you are ready.\r \r
2476
2477 10.4 Multi-Game Messages
2478 ========================
2479
2480 \r It is possible to have a `cmail' message carry more than one game.\r
2481 This feature was implemented to handle IECG (International Email Chess\r
2482 Group) matches, where a match consists of one game as white and one as
2483 black,\r with moves transmitted simultaneously. In case there are more
2484 general uses,\r `cmail' itself places no limit on the number of
2485 black/white games\r contained in a message; however, XBoard does.\r \r
2486
2487 10.5 Completing a Game
2488 ======================
2489
2490 Because XBoard can detect checkmate and stalemate, `cmail'\r handles
2491 game termination sensibly. As well as resignation, the\r `Action' menu
2492 allows draws to be offered and accepted for\r `cmail' games.\r \r For
2493 multi-game messages, only unfinished and just-finished games will be\r
2494 included in email messages. When all the games are finished, they are\r
2495 archived in the user's archive directory, and similarly in the
2496 opponent's\r when he or she pipes the final message through `cmail'.
2497 The archive\r file name includes the date the game was started.\r \r
2498
2499 10.6 Known CMail Problems
2500 =========================
2501
2502 It's possible that a strange conjunction of conditions may
2503 occasionally\r mean that `cmail' has trouble reactivating an existing\r
2504 XBoard. If this should happen, simply trying it again should work.\r If
2505 not, remove the file that stores the XBoard's PID\r (`game.pid') or use
2506 the `-xreuse' option to force\r `cmail' to start a new XBoard.\r \r
2507 Versions of `cmail' after 2.16 no longer understand the old file
2508 format\r that XBoard used to use and so cannot be used to correspond
2509 with\r anyone using an older version.\r \r Versions of `cmail' older
2510 than 2.11 do not handle multi-game messages,\r so multi-game
2511 correspondence is not possible with opponents using an older\r
2512 version.\r \r
2513
2514 11 Other programs you can use with XBoard
2515 *****************************************
2516
2517 \r Here are some other programs you can use with XBoard\r \r \r
2518
2519 11.1 GNU Chess
2520 ==============
2521
2522 \r The GNU Chess engine is available from:\r \r
2523 ftp://ftp.gnu.org/gnu/gnuchess/\r \r You can use XBoard to play a game
2524 against GNU Chess, or to\r interface GNU Chess to an ICS.\r \r
2525
2526 11.2 Fairy-Max
2527 ==============
2528
2529 \r Fairy-Max is a derivative from the World's smallest Chess program
2530 micro-Max,\r which measures only about 100 lines of source code.\r The
2531 main difference with micro-Max is that Fairy-Max loads its
2532 move-generator\r tables from a file, so that the rules for piece
2533 movement can be easily configured\r to implement unorthodox pieces.\r
2534 Fairy-Max can therefore play a lage number of variants, normal Chess
2535 being one of those.\r In addition it plas Knightmate, Capablanca and
2536 Gothic Chess, Shatranj, Courier Chess,\r Cylinder chess, Berolina
2537 Chess, while the user can easily define new variants.\r It can be
2538 obtained from:\r \r http://home.hccnet.nl/h.g.muller/dwnldpage.html\r \r
2539
2540 11.3 HoiChess
2541 =============
2542
2543 \r HoiChess is a not-so-very-strong Chess engine, which comes with a
2544 derivative HoiXiangqi,\r able to play Chinese Chess. It can be obtained
2545 from the standard Linux repositories\r through:\r \r sudo apt-get
2546 install hoichess\r \r
2547
2548 11.4 Crafty
2549 ===========
2550
2551 \r Crafty is a chess engine written by Bob Hyatt.\r You can use XBoard
2552 to play a game against Crafty, hook Crafty up\r to an ICS, or use
2553 Crafty to interactively analyze games and positions\r for you.\r \r
2554 Crafty is a strong, rapidly evolving chess program. This rapid\r pace
2555 of development is good, because it means Crafty is always\r getting
2556 better.  This can sometimes cause problems with\r backwards
2557 compatibility, but usually the latest version of Crafty\r will work
2558 well with the latest version of XBoard.\r Crafty can be obtained from
2559 its author's FTP site:\r ftp://ftp.cis.uab.edu/hyatt/.\r \r To use
2560 Crafty with XBoard, give the -fcp and -fd options as follows, where\r
2561 <crafty's directory> is the directory in which you installed Crafty\r
2562 and placed its book and other support files.\r \r
2563
2564 11.5 zic2xpm
2565 ============
2566
2567 \r The "zic2xpm" program is used to import chess sets from the
2568 ZIICS(*)\r program into XBoard. "zic2xpm" is part of the XBoard
2569 distribution.\r ZIICS is available from:\r \r
2570 ftp://ftp.freechess.org/pub/chess/DOS/ziics131.exe\r \r To import ZIICS
2571 pieces, do this:\r
2572 1. Unzip ziics131.exe into a directory:
2573      \r
2574           unzip -L ziics131.exe -d ~/ziics\r
2575
2576 2. Use zic2xpm to convert a set of pieces to XBoard format.
2577      \r For example, let's say you want to use the\r FRITZ4 set. These
2578      files are named "fritz4.*" in the ZIICS distribution.\r \r
2579           mkdir ~/fritz4\r
2580           cd ~/fritz4\r
2581           zic2xpm ~/ziics/fritz4.*\r
2582
2583 3. Give XBoard the "-pixmap" option when starting up, e.g.:
2584      \r
2585           xboard -pixmap ~/fritz4\r
2586      \r Alternatively, you can add this line to your `.Xresources'
2587      file:\r \r
2588           xboard*pixmapDirectory: ~/fritz4\r
2589 \r (*) ZIICS is a separate copyrighted work of Andy McFarland.\r The
2590 "ZIICS pieces" are copyrighted works of their respective\r creators.
2591 Files produced by "zic2xpm" are for PERSONAL USE ONLY\r and may NOT be
2592 redistributed without explicit permission from\r the original
2593 creator(s) of the pieces.\r \r
2594
2595 Copyright
2596 *********
2597
2598 Copyright (C) 1991 Digital Equipment Corporation, Maynard,
2599 Massachusetts.
2600
2601    All Rights Reserved.
2602
2603    Permission to use, copy, modify, and distribute this software and its
2604 documentation for any purpose and without fee is hereby granted,
2605 provided that the above copyright notice appear in all copies and that
2606 both that copyright notice and this permission notice appear in
2607 supporting documentation, and that the name of Digital not be used in
2608 advertising or publicity pertaining to distribution of the software
2609 without specific, written prior permission.
2610
2611    Digital disclaims all warranties with regard to this software,
2612 including all implied warranties of merchantability and fitness.  In no
2613 event shall Digital be liable for any special, indirect or
2614 consequential damages or any damages whatsoever resulting from loss of
2615 use, data or profits, whether in an action of contract, negligence or
2616 other tortious action, arising out of or in connection with the use or
2617 performance of this software.
2618
2619    Enhancements copyright (C) 1992-2003,2004,2005,2006,2007,2008,2009
2620 Free Software Foundation, Inc.
2621
2622 Published by the Free Software Foundation
2623 59 Temple Place - Suite 330
2624 Boston, MA 02111-1307 USA
2625
2626    Permission is granted to make and distribute verbatim copies of this
2627 manual provided the copyright notice and this permission notice are
2628 preserved on all copies.
2629
2630    Permission is granted to copy and distribute modified versions of
2631 this manual under the conditions for verbatim copying, provided also
2632 that the section entitled "GNU General Public License," is included
2633 exactly as in the original, and provided that the entire resulting
2634 derived work is distributed under the terms of a permission notice
2635 identical to this one.
2636
2637    Permission is granted to copy and distribute translations of this
2638 manual into another language, under the above conditions for modified
2639 versions, except that the section entitled "GNU General Public License,"
2640 and this permission notice, may be included in translations approved by
2641 the Free Software Foundation instead of in the original English.  \r
2642
2643 GNU GENERAL PUBLIC LICENSE
2644 **************************
2645
2646                         Version 3, 29 June 2007
2647
2648      Copyright (C) 2007 Free Software Foundation, Inc. `http://fsf.org/'
2649
2650      Everyone is permitted to copy and distribute verbatim copies of this
2651      license document, but changing it is not allowed.
2652
2653 Preamble
2654 ========
2655
2656 The GNU General Public License is a free, copyleft license for software
2657 and other kinds of works.
2658
2659    The licenses for most software and other practical works are designed
2660 to take away your freedom to share and change the works.  By contrast,
2661 the GNU General Public License is intended to guarantee your freedom to
2662 share and change all versions of a program--to make sure it remains
2663 free software for all its users.  We, the Free Software Foundation, use
2664 the GNU General Public License for most of our software; it applies
2665 also to any other work released this way by its authors.  You can apply
2666 it to your programs, too.
2667
2668    When we speak of free software, we are referring to freedom, not
2669 price.  Our General Public Licenses are designed to make sure that you
2670 have the freedom to distribute copies of free software (and charge for
2671 them if you wish), that you receive source code or can get it if you
2672 want it, that you can change the software or use pieces of it in new
2673 free programs, and that you know you can do these things.
2674
2675    To protect your rights, we need to prevent others from denying you
2676 these rights or asking you to surrender the rights.  Therefore, you
2677 have certain responsibilities if you distribute copies of the software,
2678 or if you modify it: responsibilities to respect the freedom of others.
2679
2680    For example, if you distribute copies of such a program, whether
2681 gratis or for a fee, you must pass on to the recipients the same
2682 freedoms that you received.  You must make sure that they, too, receive
2683 or can get the source code.  And you must show them these terms so they
2684 know their rights.
2685
2686    Developers that use the GNU GPL protect your rights with two steps:
2687 (1) assert copyright on the software, and (2) offer you this License
2688 giving you legal permission to copy, distribute and/or modify it.
2689
2690    For the developers' and authors' protection, the GPL clearly explains
2691 that there is no warranty for this free software.  For both users' and
2692 authors' sake, the GPL requires that modified versions be marked as
2693 changed, so that their problems will not be attributed erroneously to
2694 authors of previous versions.
2695
2696    Some devices are designed to deny users access to install or run
2697 modified versions of the software inside them, although the
2698 manufacturer can do so.  This is fundamentally incompatible with the
2699 aim of protecting users' freedom to change the software.  The
2700 systematic pattern of such abuse occurs in the area of products for
2701 individuals to use, which is precisely where it is most unacceptable.
2702 Therefore, we have designed this version of the GPL to prohibit the
2703 practice for those products.  If such problems arise substantially in
2704 other domains, we stand ready to extend this provision to those domains
2705 in future versions of the GPL, as needed to protect the freedom of
2706 users.
2707
2708    Finally, every program is threatened constantly by software patents.
2709 States should not allow patents to restrict development and use of
2710 software on general-purpose computers, but in those that do, we wish to
2711 avoid the special danger that patents applied to a free program could
2712 make it effectively proprietary.  To prevent this, the GPL assures that
2713 patents cannot be used to render the program non-free.
2714
2715    The precise terms and conditions for copying, distribution and
2716 modification follow.
2717
2718 TERMS AND CONDITIONS
2719 ====================
2720
2721   0. Definitions.
2722
2723      "This License" refers to version 3 of the GNU General Public
2724      License.
2725
2726      "Copyright" also means copyright-like laws that apply to other
2727      kinds of works, such as semiconductor masks.
2728
2729      "The Program" refers to any copyrightable work licensed under this
2730      License.  Each licensee is addressed as "you".  "Licensees" and
2731      "recipients" may be individuals or organizations.
2732
2733      To "modify" a work means to copy from or adapt all or part of the
2734      work in a fashion requiring copyright permission, other than the
2735      making of an exact copy.  The resulting work is called a "modified
2736      version" of the earlier work or a work "based on" the earlier work.
2737
2738      A "covered work" means either the unmodified Program or a work
2739      based on the Program.
2740
2741      To "propagate" a work means to do anything with it that, without
2742      permission, would make you directly or secondarily liable for
2743      infringement under applicable copyright law, except executing it
2744      on a computer or modifying a private copy.  Propagation includes
2745      copying, distribution (with or without modification), making
2746      available to the public, and in some countries other activities as
2747      well.
2748
2749      To "convey" a work means any kind of propagation that enables other
2750      parties to make or receive copies.  Mere interaction with a user
2751      through a computer network, with no transfer of a copy, is not
2752      conveying.
2753
2754      An interactive user interface displays "Appropriate Legal Notices"
2755      to the extent that it includes a convenient and prominently visible
2756      feature that (1) displays an appropriate copyright notice, and (2)
2757      tells the user that there is no warranty for the work (except to
2758      the extent that warranties are provided), that licensees may
2759      convey the work under this License, and how to view a copy of this
2760      License.  If the interface presents a list of user commands or
2761      options, such as a menu, a prominent item in the list meets this
2762      criterion.
2763
2764   1. Source Code.
2765
2766      The "source code" for a work means the preferred form of the work
2767      for making modifications to it.  "Object code" means any
2768      non-source form of a work.
2769
2770      A "Standard Interface" means an interface that either is an
2771      official standard defined by a recognized standards body, or, in
2772      the case of interfaces specified for a particular programming
2773      language, one that is widely used among developers working in that
2774      language.
2775
2776      The "System Libraries" of an executable work include anything,
2777      other than the work as a whole, that (a) is included in the normal
2778      form of packaging a Major Component, but which is not part of that
2779      Major Component, and (b) serves only to enable use of the work
2780      with that Major Component, or to implement a Standard Interface
2781      for which an implementation is available to the public in source
2782      code form.  A "Major Component", in this context, means a major
2783      essential component (kernel, window system, and so on) of the
2784      specific operating system (if any) on which the executable work
2785      runs, or a compiler used to produce the work, or an object code
2786      interpreter used to run it.
2787
2788      The "Corresponding Source" for a work in object code form means all
2789      the source code needed to generate, install, and (for an executable
2790      work) run the object code and to modify the work, including
2791      scripts to control those activities.  However, it does not include
2792      the work's System Libraries, or general-purpose tools or generally
2793      available free programs which are used unmodified in performing
2794      those activities but which are not part of the work.  For example,
2795      Corresponding Source includes interface definition files
2796      associated with source files for the work, and the source code for
2797      shared libraries and dynamically linked subprograms that the work
2798      is specifically designed to require, such as by intimate data
2799      communication or control flow between those subprograms and other
2800      parts of the work.
2801
2802      The Corresponding Source need not include anything that users can
2803      regenerate automatically from other parts of the Corresponding
2804      Source.
2805
2806      The Corresponding Source for a work in source code form is that
2807      same work.
2808
2809   2. Basic Permissions.
2810
2811      All rights granted under this License are granted for the term of
2812      copyright on the Program, and are irrevocable provided the stated
2813      conditions are met.  This License explicitly affirms your unlimited
2814      permission to run the unmodified Program.  The output from running
2815      a covered work is covered by this License only if the output,
2816      given its content, constitutes a covered work.  This License
2817      acknowledges your rights of fair use or other equivalent, as
2818      provided by copyright law.
2819
2820      You may make, run and propagate covered works that you do not
2821      convey, without conditions so long as your license otherwise
2822      remains in force.  You may convey covered works to others for the
2823      sole purpose of having them make modifications exclusively for
2824      you, or provide you with facilities for running those works,
2825      provided that you comply with the terms of this License in
2826      conveying all material for which you do not control copyright.
2827      Those thus making or running the covered works for you must do so
2828      exclusively on your behalf, under your direction and control, on
2829      terms that prohibit them from making any copies of your
2830      copyrighted material outside their relationship with you.
2831
2832      Conveying under any other circumstances is permitted solely under
2833      the conditions stated below.  Sublicensing is not allowed; section
2834      10 makes it unnecessary.
2835
2836   3. Protecting Users' Legal Rights From Anti-Circumvention Law.
2837
2838      No covered work shall be deemed part of an effective technological
2839      measure under any applicable law fulfilling obligations under
2840      article 11 of the WIPO copyright treaty adopted on 20 December
2841      1996, or similar laws prohibiting or restricting circumvention of
2842      such measures.
2843
2844      When you convey a covered work, you waive any legal power to forbid
2845      circumvention of technological measures to the extent such
2846      circumvention is effected by exercising rights under this License
2847      with respect to the covered work, and you disclaim any intention
2848      to limit operation or modification of the work as a means of
2849      enforcing, against the work's users, your or third parties' legal
2850      rights to forbid circumvention of technological measures.
2851
2852   4. Conveying Verbatim Copies.
2853
2854      You may convey verbatim copies of the Program's source code as you
2855      receive it, in any medium, provided that you conspicuously and
2856      appropriately publish on each copy an appropriate copyright notice;
2857      keep intact all notices stating that this License and any
2858      non-permissive terms added in accord with section 7 apply to the
2859      code; keep intact all notices of the absence of any warranty; and
2860      give all recipients a copy of this License along with the Program.
2861
2862      You may charge any price or no price for each copy that you convey,
2863      and you may offer support or warranty protection for a fee.
2864
2865   5. Conveying Modified Source Versions.
2866
2867      You may convey a work based on the Program, or the modifications to
2868      produce it from the Program, in the form of source code under the
2869      terms of section 4, provided that you also meet all of these
2870      conditions:
2871
2872        a. The work must carry prominent notices stating that you
2873           modified it, and giving a relevant date.
2874
2875        b. The work must carry prominent notices stating that it is
2876           released under this License and any conditions added under
2877           section 7.  This requirement modifies the requirement in
2878           section 4 to "keep intact all notices".
2879
2880        c. You must license the entire work, as a whole, under this
2881           License to anyone who comes into possession of a copy.  This
2882           License will therefore apply, along with any applicable
2883           section 7 additional terms, to the whole of the work, and all
2884           its parts, regardless of how they are packaged.  This License
2885           gives no permission to license the work in any other way, but
2886           it does not invalidate such permission if you have separately
2887           received it.
2888
2889        d. If the work has interactive user interfaces, each must display
2890           Appropriate Legal Notices; however, if the Program has
2891           interactive interfaces that do not display Appropriate Legal
2892           Notices, your work need not make them do so.
2893
2894      A compilation of a covered work with other separate and independent
2895      works, which are not by their nature extensions of the covered
2896      work, and which are not combined with it such as to form a larger
2897      program, in or on a volume of a storage or distribution medium, is
2898      called an "aggregate" if the compilation and its resulting
2899      copyright are not used to limit the access or legal rights of the
2900      compilation's users beyond what the individual works permit.
2901      Inclusion of a covered work in an aggregate does not cause this
2902      License to apply to the other parts of the aggregate.
2903
2904   6. Conveying Non-Source Forms.
2905
2906      You may convey a covered work in object code form under the terms
2907      of sections 4 and 5, provided that you also convey the
2908      machine-readable Corresponding Source under the terms of this
2909      License, in one of these ways:
2910
2911        a. Convey the object code in, or embodied in, a physical product
2912           (including a physical distribution medium), accompanied by the
2913           Corresponding Source fixed on a durable physical medium
2914           customarily used for software interchange.
2915
2916        b. Convey the object code in, or embodied in, a physical product
2917           (including a physical distribution medium), accompanied by a
2918           written offer, valid for at least three years and valid for
2919           as long as you offer spare parts or customer support for that
2920           product model, to give anyone who possesses the object code
2921           either (1) a copy of the Corresponding Source for all the
2922           software in the product that is covered by this License, on a
2923           durable physical medium customarily used for software
2924           interchange, for a price no more than your reasonable cost of
2925           physically performing this conveying of source, or (2) access
2926           to copy the Corresponding Source from a network server at no
2927           charge.
2928
2929        c. Convey individual copies of the object code with a copy of
2930           the written offer to provide the Corresponding Source.  This
2931           alternative is allowed only occasionally and noncommercially,
2932           and only if you received the object code with such an offer,
2933           in accord with subsection 6b.
2934
2935        d. Convey the object code by offering access from a designated
2936           place (gratis or for a charge), and offer equivalent access
2937           to the Corresponding Source in the same way through the same
2938           place at no further charge.  You need not require recipients
2939           to copy the Corresponding Source along with the object code.
2940           If the place to copy the object code is a network server, the
2941           Corresponding Source may be on a different server (operated
2942           by you or a third party) that supports equivalent copying
2943           facilities, provided you maintain clear directions next to
2944           the object code saying where to find the Corresponding Source.
2945           Regardless of what server hosts the Corresponding Source, you
2946           remain obligated to ensure that it is available for as long
2947           as needed to satisfy these requirements.
2948
2949        e. Convey the object code using peer-to-peer transmission,
2950           provided you inform other peers where the object code and
2951           Corresponding Source of the work are being offered to the
2952           general public at no charge under subsection 6d.
2953
2954
2955      A separable portion of the object code, whose source code is
2956      excluded from the Corresponding Source as a System Library, need
2957      not be included in conveying the object code work.
2958
2959      A "User Product" is either (1) a "consumer product", which means
2960      any tangible personal property which is normally used for personal,
2961      family, or household purposes, or (2) anything designed or sold for
2962      incorporation into a dwelling.  In determining whether a product
2963      is a consumer product, doubtful cases shall be resolved in favor of
2964      coverage.  For a particular product received by a particular user,
2965      "normally used" refers to a typical or common use of that class of
2966      product, regardless of the status of the particular user or of the
2967      way in which the particular user actually uses, or expects or is
2968      expected to use, the product.  A product is a consumer product
2969      regardless of whether the product has substantial commercial,
2970      industrial or non-consumer uses, unless such uses represent the
2971      only significant mode of use of the product.
2972
2973      "Installation Information" for a User Product means any methods,
2974      procedures, authorization keys, or other information required to
2975      install and execute modified versions of a covered work in that
2976      User Product from a modified version of its Corresponding Source.
2977      The information must suffice to ensure that the continued
2978      functioning of the modified object code is in no case prevented or
2979      interfered with solely because modification has been made.
2980
2981      If you convey an object code work under this section in, or with,
2982      or specifically for use in, a User Product, and the conveying
2983      occurs as part of a transaction in which the right of possession
2984      and use of the User Product is transferred to the recipient in
2985      perpetuity or for a fixed term (regardless of how the transaction
2986      is characterized), the Corresponding Source conveyed under this
2987      section must be accompanied by the Installation Information.  But
2988      this requirement does not apply if neither you nor any third party
2989      retains the ability to install modified object code on the User
2990      Product (for example, the work has been installed in ROM).
2991
2992      The requirement to provide Installation Information does not
2993      include a requirement to continue to provide support service,
2994      warranty, or updates for a work that has been modified or
2995      installed by the recipient, or for the User Product in which it
2996      has been modified or installed.  Access to a network may be denied
2997      when the modification itself materially and adversely affects the
2998      operation of the network or violates the rules and protocols for
2999      communication across the network.
3000
3001      Corresponding Source conveyed, and Installation Information
3002      provided, in accord with this section must be in a format that is
3003      publicly documented (and with an implementation available to the
3004      public in source code form), and must require no special password
3005      or key for unpacking, reading or copying.
3006
3007   7. Additional Terms.
3008
3009      "Additional permissions" are terms that supplement the terms of
3010      this License by making exceptions from one or more of its
3011      conditions.  Additional permissions that are applicable to the
3012      entire Program shall be treated as though they were included in
3013      this License, to the extent that they are valid under applicable
3014      law.  If additional permissions apply only to part of the Program,
3015      that part may be used separately under those permissions, but the
3016      entire Program remains governed by this License without regard to
3017      the additional permissions.
3018
3019      When you convey a copy of a covered work, you may at your option
3020      remove any additional permissions from that copy, or from any part
3021      of it.  (Additional permissions may be written to require their own
3022      removal in certain cases when you modify the work.)  You may place
3023      additional permissions on material, added by you to a covered work,
3024      for which you have or can give appropriate copyright permission.
3025
3026      Notwithstanding any other provision of this License, for material
3027      you add to a covered work, you may (if authorized by the copyright
3028      holders of that material) supplement the terms of this License
3029      with terms:
3030
3031        a. Disclaiming warranty or limiting liability differently from
3032           the terms of sections 15 and 16 of this License; or
3033
3034        b. Requiring preservation of specified reasonable legal notices
3035           or author attributions in that material or in the Appropriate
3036           Legal Notices displayed by works containing it; or
3037
3038        c. Prohibiting misrepresentation of the origin of that material,
3039           or requiring that modified versions of such material be
3040           marked in reasonable ways as different from the original
3041           version; or
3042
3043        d. Limiting the use for publicity purposes of names of licensors
3044           or authors of the material; or
3045
3046        e. Declining to grant rights under trademark law for use of some
3047           trade names, trademarks, or service marks; or
3048
3049        f. Requiring indemnification of licensors and authors of that
3050           material by anyone who conveys the material (or modified
3051           versions of it) with contractual assumptions of liability to
3052           the recipient, for any liability that these contractual
3053           assumptions directly impose on those licensors and authors.
3054
3055      All other non-permissive additional terms are considered "further
3056      restrictions" within the meaning of section 10.  If the Program as
3057      you received it, or any part of it, contains a notice stating that
3058      it is governed by this License along with a term that is a further
3059      restriction, you may remove that term.  If a license document
3060      contains a further restriction but permits relicensing or
3061      conveying under this License, you may add to a covered work
3062      material governed by the terms of that license document, provided
3063      that the further restriction does not survive such relicensing or
3064      conveying.
3065
3066      If you add terms to a covered work in accord with this section, you
3067      must place, in the relevant source files, a statement of the
3068      additional terms that apply to those files, or a notice indicating
3069      where to find the applicable terms.
3070
3071      Additional terms, permissive or non-permissive, may be stated in
3072      the form of a separately written license, or stated as exceptions;
3073      the above requirements apply either way.
3074
3075   8. Termination.
3076
3077      You may not propagate or modify a covered work except as expressly
3078      provided under this License.  Any attempt otherwise to propagate or
3079      modify it is void, and will automatically terminate your rights
3080      under this License (including any patent licenses granted under
3081      the third paragraph of section 11).
3082
3083      However, if you cease all violation of this License, then your
3084      license from a particular copyright holder is reinstated (a)
3085      provisionally, unless and until the copyright holder explicitly
3086      and finally terminates your license, and (b) permanently, if the
3087      copyright holder fails to notify you of the violation by some
3088      reasonable means prior to 60 days after the cessation.
3089
3090      Moreover, your license from a particular copyright holder is
3091      reinstated permanently if the copyright holder notifies you of the
3092      violation by some reasonable means, this is the first time you have
3093      received notice of violation of this License (for any work) from
3094      that copyright holder, and you cure the violation prior to 30 days
3095      after your receipt of the notice.
3096
3097      Termination of your rights under this section does not terminate
3098      the licenses of parties who have received copies or rights from
3099      you under this License.  If your rights have been terminated and
3100      not permanently reinstated, you do not qualify to receive new
3101      licenses for the same material under section 10.
3102
3103   9. Acceptance Not Required for Having Copies.
3104
3105      You are not required to accept this License in order to receive or
3106      run a copy of the Program.  Ancillary propagation of a covered work
3107      occurring solely as a consequence of using peer-to-peer
3108      transmission to receive a copy likewise does not require
3109      acceptance.  However, nothing other than this License grants you
3110      permission to propagate or modify any covered work.  These actions
3111      infringe copyright if you do not accept this License.  Therefore,
3112      by modifying or propagating a covered work, you indicate your
3113      acceptance of this License to do so.
3114
3115  10. Automatic Licensing of Downstream Recipients.
3116
3117      Each time you convey a covered work, the recipient automatically
3118      receives a license from the original licensors, to run, modify and
3119      propagate that work, subject to this License.  You are not
3120      responsible for enforcing compliance by third parties with this
3121      License.
3122
3123      An "entity transaction" is a transaction transferring control of an
3124      organization, or substantially all assets of one, or subdividing an
3125      organization, or merging organizations.  If propagation of a
3126      covered work results from an entity transaction, each party to that
3127      transaction who receives a copy of the work also receives whatever
3128      licenses to the work the party's predecessor in interest had or
3129      could give under the previous paragraph, plus a right to
3130      possession of the Corresponding Source of the work from the
3131      predecessor in interest, if the predecessor has it or can get it
3132      with reasonable efforts.
3133
3134      You may not impose any further restrictions on the exercise of the
3135      rights granted or affirmed under this License.  For example, you
3136      may not impose a license fee, royalty, or other charge for
3137      exercise of rights granted under this License, and you may not
3138      initiate litigation (including a cross-claim or counterclaim in a
3139      lawsuit) alleging that any patent claim is infringed by making,
3140      using, selling, offering for sale, or importing the Program or any
3141      portion of it.
3142
3143  11. Patents.
3144
3145      A "contributor" is a copyright holder who authorizes use under this
3146      License of the Program or a work on which the Program is based.
3147      The work thus licensed is called the contributor's "contributor
3148      version".
3149
3150      A contributor's "essential patent claims" are all patent claims
3151      owned or controlled by the contributor, whether already acquired or
3152      hereafter acquired, that would be infringed by some manner,
3153      permitted by this License, of making, using, or selling its
3154      contributor version, but do not include claims that would be
3155      infringed only as a consequence of further modification of the
3156      contributor version.  For purposes of this definition, "control"
3157      includes the right to grant patent sublicenses in a manner
3158      consistent with the requirements of this License.
3159
3160      Each contributor grants you a non-exclusive, worldwide,
3161      royalty-free patent license under the contributor's essential
3162      patent claims, to make, use, sell, offer for sale, import and
3163      otherwise run, modify and propagate the contents of its
3164      contributor version.
3165
3166      In the following three paragraphs, a "patent license" is any
3167      express agreement or commitment, however denominated, not to
3168      enforce a patent (such as an express permission to practice a
3169      patent or covenant not to sue for patent infringement).  To
3170      "grant" such a patent license to a party means to make such an
3171      agreement or commitment not to enforce a patent against the party.
3172
3173      If you convey a covered work, knowingly relying on a patent
3174      license, and the Corresponding Source of the work is not available
3175      for anyone to copy, free of charge and under the terms of this
3176      License, through a publicly available network server or other
3177      readily accessible means, then you must either (1) cause the
3178      Corresponding Source to be so available, or (2) arrange to deprive
3179      yourself of the benefit of the patent license for this particular
3180      work, or (3) arrange, in a manner consistent with the requirements
3181      of this License, to extend the patent license to downstream
3182      recipients.  "Knowingly relying" means you have actual knowledge
3183      that, but for the patent license, your conveying the covered work
3184      in a country, or your recipient's use of the covered work in a
3185      country, would infringe one or more identifiable patents in that
3186      country that you have reason to believe are valid.
3187
3188      If, pursuant to or in connection with a single transaction or
3189      arrangement, you convey, or propagate by procuring conveyance of, a
3190      covered work, and grant a patent license to some of the parties
3191      receiving the covered work authorizing them to use, propagate,
3192      modify or convey a specific copy of the covered work, then the
3193      patent license you grant is automatically extended to all
3194      recipients of the covered work and works based on it.
3195
3196      A patent license is "discriminatory" if it does not include within
3197      the scope of its coverage, prohibits the exercise of, or is
3198      conditioned on the non-exercise of one or more of the rights that
3199      are specifically granted under this License.  You may not convey a
3200      covered work if you are a party to an arrangement with a third
3201      party that is in the business of distributing software, under
3202      which you make payment to the third party based on the extent of
3203      your activity of conveying the work, and under which the third
3204      party grants, to any of the parties who would receive the covered
3205      work from you, a discriminatory patent license (a) in connection
3206      with copies of the covered work conveyed by you (or copies made
3207      from those copies), or (b) primarily for and in connection with
3208      specific products or compilations that contain the covered work,
3209      unless you entered into that arrangement, or that patent license
3210      was granted, prior to 28 March 2007.
3211
3212      Nothing in this License shall be construed as excluding or limiting
3213      any implied license or other defenses to infringement that may
3214      otherwise be available to you under applicable patent law.
3215
3216  12. No Surrender of Others' Freedom.
3217
3218      If conditions are imposed on you (whether by court order,
3219      agreement or otherwise) that contradict the conditions of this
3220      License, they do not excuse you from the conditions of this
3221      License.  If you cannot convey a covered work so as to satisfy
3222      simultaneously your obligations under this License and any other
3223      pertinent obligations, then as a consequence you may not convey it
3224      at all.  For example, if you agree to terms that obligate you to
3225      collect a royalty for further conveying from those to whom you
3226      convey the Program, the only way you could satisfy both those
3227      terms and this License would be to refrain entirely from conveying
3228      the Program.
3229
3230  13. Use with the GNU Affero General Public License.
3231
3232      Notwithstanding any other provision of this License, you have
3233      permission to link or combine any covered work with a work licensed
3234      under version 3 of the GNU Affero General Public License into a
3235      single combined work, and to convey the resulting work.  The terms
3236      of this License will continue to apply to the part which is the
3237      covered work, but the special requirements of the GNU Affero
3238      General Public License, section 13, concerning interaction through
3239      a network will apply to the combination as such.
3240
3241  14. Revised Versions of this License.
3242
3243      The Free Software Foundation may publish revised and/or new
3244      versions of the GNU General Public License from time to time.
3245      Such new versions will be similar in spirit to the present
3246      version, but may differ in detail to address new problems or
3247      concerns.
3248
3249      Each version is given a distinguishing version number.  If the
3250      Program specifies that a certain numbered version of the GNU
3251      General Public License "or any later version" applies to it, you
3252      have the option of following the terms and conditions either of
3253      that numbered version or of any later version published by the
3254      Free Software Foundation.  If the Program does not specify a
3255      version number of the GNU General Public License, you may choose
3256      any version ever published by the Free Software Foundation.
3257
3258      If the Program specifies that a proxy can decide which future
3259      versions of the GNU General Public License can be used, that
3260      proxy's public statement of acceptance of a version permanently
3261      authorizes you to choose that version for the Program.
3262
3263      Later license versions may give you additional or different
3264      permissions.  However, no additional obligations are imposed on any
3265      author or copyright holder as a result of your choosing to follow a
3266      later version.
3267
3268  15. Disclaimer of Warranty.
3269
3270      THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
3271      APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE
3272      COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
3273      WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
3274      INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
3275      MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE
3276      RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
3277      SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
3278      NECESSARY SERVICING, REPAIR OR CORRECTION.
3279
3280  16. Limitation of Liability.
3281
3282      IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
3283      WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES
3284      AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
3285      FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
3286      CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
3287      THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
3288      BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
3289      PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
3290      PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
3291      THE POSSIBILITY OF SUCH DAMAGES.
3292
3293  17. Interpretation of Sections 15 and 16.
3294
3295      If the disclaimer of warranty and limitation of liability provided
3296      above cannot be given local legal effect according to their terms,
3297      reviewing courts shall apply local law that most closely
3298      approximates an absolute waiver of all civil liability in
3299      connection with the Program, unless a warranty or assumption of
3300      liability accompanies a copy of the Program in return for a fee.
3301
3302
3303 END OF TERMS AND CONDITIONS
3304 ===========================
3305
3306 How to Apply These Terms to Your New Programs
3307 =============================================
3308
3309 If you develop a new program, and you want it to be of the greatest
3310 possible use to the public, the best way to achieve this is to make it
3311 free software which everyone can redistribute and change under these
3312 terms.
3313
3314    To do so, attach the following notices to the program.  It is safest
3315 to attach them to the start of each source file to most effectively
3316 state the exclusion of warranty; and each file should have at least the
3317 "copyright" line and a pointer to where the full notice is found.
3318
3319      ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
3320      Copyright (C) YEAR NAME OF AUTHOR
3321
3322      This program is free software: you can redistribute it and/or modify
3323      it under the terms of the GNU General Public License as published by
3324      the Free Software Foundation, either version 3 of the License, or (at
3325      your option) any later version.
3326
3327      This program is distributed in the hope that it will be useful, but
3328      WITHOUT ANY WARRANTY; without even the implied warranty of
3329      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
3330      General Public License for more details.
3331
3332      You should have received a copy of the GNU General Public License
3333      along with this program.  If not, see `http://www.gnu.org/licenses/'.
3334
3335    Also add information on how to contact you by electronic and paper
3336 mail.
3337
3338    If the program does terminal interaction, make it output a short
3339 notice like this when it starts in an interactive mode:
3340
3341      PROGRAM Copyright (C) YEAR NAME OF AUTHOR
3342      This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
3343      This is free software, and you are welcome to redistribute it
3344      under certain conditions; type `show c' for details.
3345
3346    The hypothetical commands `show w' and `show c' should show the
3347 appropriate parts of the General Public License.  Of course, your
3348 program's commands might be different; for a GUI interface, you would
3349 use an "about box".
3350
3351    You should also get your employer (if you work as a programmer) or
3352 school, if any, to sign a "copyright disclaimer" for the program, if
3353 necessary.  For more information on this, and how to apply and follow
3354 the GNU GPL, see `http://www.gnu.org/licenses/'.
3355
3356    The GNU General Public License does not permit incorporating your
3357 program into proprietary programs.  If your program is a subroutine
3358 library, you may consider it more useful to permit linking proprietary
3359 applications with the library.  If this is what you want to do, use the
3360 GNU Lesser General Public License instead of this License.  But first,
3361 please read `http://www.gnu.org/philosophy/why-not-lgpl.html'.  \r
3362
3363 Index
3364 *****
3365
3366 \r
3367
3368 -animateSpeed, option:                         See 3.5.      (line 1768)
3369 .cmailaliases:                                 See 10.1.     (line 2407)
3370 .cmailgames:                                   See 10.1.     (line 2402)
3371 .icsrc:                                        See 3.3.      (line 1291)
3372 <, Button:                                     See 2.4.      (line  452)
3373 <<, Button:                                    See 2.4.      (line  482)
3374 >, Button:                                     See 2.4.      (line  470)
3375 >>, Button:                                    See 2.4.      (line  499)
3376 abort, ICS command:                            See 4.        (line 2056)
3377 Abort, Menu Item:                              See 2.3.      (line  431)
3378 About XBoard, Menu Item:                       See 2.6.      (line  832)
3379 accept, ICS command:                           See 4.        (line 2044)
3380 Accept, Menu Item:                             See 2.3.      (line  406)
3381 Action, Menu:                                  See 2.3.      (line  405)
3382 adjourn, ICS command:                          See 4.        (line 2056)
3383 Adjourn, Menu Item:                            See 2.3.      (line  427)
3384 Adjudicate Draw, Menu Item:                    See 2.4.      (line  533)
3385 Adjudicate to Black, Menu Item:                See 2.4.      (line  533)
3386 Adjudicate to White, Menu Item:                See 2.4.      (line  533)
3387 adjudicateDrawMoves, option:                   See 3.6.      (line 1784)
3388 adjudicateLossThreshold, option:               See 3.6.      (line 1776)
3389 Adjudications, Menu Item:                      See 2.5.      (line  548)
3390 alarm, option:                                 See 3.3.      (line 1335)
3391 Always Queen, Menu Item:                       See 2.5.      (line  596)
3392 alwaysPromoteToQueen, option:                  See 3.5.      (line 1575)
3393 Analysis Mode, Menu Item:                      See 2.2.      (line  241)
3394 Analyze File, Menu Item:                       See 2.2.      (line  256)
3395 Animate Dragging, Menu Item:                   See 2.5.      (line  602)
3396 Animate Moving, Menu Item:                     See 2.5.      (line  609)
3397 animate, option:                               See 3.5.      (line 1764)
3398 animateDragging, option:                       See 3.5.      (line 1760)
3399 animateMoving, option:                         See 3.5.      (line 1764)
3400 Authors:                                       See 9.        (line 2273)
3401 Auto Comment, Menu Item:                       See 2.5.      (line  617)
3402 Auto Flag, Menu Item:                          See 2.5.      (line  625)
3403 Auto Flip View, Menu Item:                     See 2.5.      (line  634)
3404 Auto Observe, Menu Item:                       See 2.5.      (line  639)
3405 Auto Raise Board, Menu Item:                   See 2.5.      (line  652)
3406 Auto Save, Menu Item:                          See 2.5.      (line  657)
3407 autobs, option:                                See 3.3.      (line 1319)
3408 autoCallFlag, option:                          See 3.3.      (line 1315)
3409 autocomm, option:                              See 3.3.      (line 1311)
3410 autoComment, option:                           See 3.3.      (line 1311)
3411 autoflag, option:                              See 3.3.      (line 1315)
3412 autoflip, option:                              See 3.5.      (line 1620)
3413 autoFlipView, option:                          See 3.5.      (line 1620)
3414 autoKibitz, option:                            See 3.3.      (line 1323)
3415 autoObserve, option:                           See 3.3.      (line 1319)
3416 autoraise, option:                             See 3.5.      (line 1616)
3417 autoRaiseBoard, option:                        See 3.5.      (line 1616)
3418 autosave, option:                              See 3.4.      (line 1497)
3419 autoSaveGames, option:                         See 3.4.      (line 1497)
3420 Back to Start, Menu Item:                      See 2.4.      (line  482)
3421 Backward, Menu Item:                           See 2.4.      (line  452)
3422 bell, option:                                  See 3.5.      (line 1562)
3423 bitmapDirectory, option:                       See 3.5.      (line 1702)
3424 blackPieceColor, option:                       See 3.5.      (line 1743)
3425 blind, option:                                 See 3.5.      (line 1668)
3426 Blindfold, Menu Item:                          See 2.5.      (line  664)
3427 blindfold, option:                             See 3.5.      (line 1668)
3428 bm, option:                                    See 3.5.      (line 1702)
3429 board size:                                    See 3.5.      (line 1583)
3430 boardHeight, option:                           See 3.7.      (line 1898)
3431 boardSize, option:                             See 3.5.      (line 1583)
3432 boardWidth, option:                            See 3.7.      (line 1903)
3433 Book, Menu Item:                               See 2.6.      (line  822)
3434 Bug reports:                                   See 8.        (line 2244)
3435 Bugs <1>:                                      See 8.        (line 2244)
3436 Bugs:                                          See 7.        (line 2191)
3437 buttons, option:                               See 3.5.      (line 1642)
3438 Call Flag, Menu Item:                          See 2.3.      (line  416)
3439 checkMates, option:                            See 3.6.      (line 1789)
3440 Chess engine options:                          See 3.1.      (line  908)
3441 CHESSDIR:                                      See 6.        (line 2182)
3442 clock, option:                                 See 3.1.      (line  925)
3443 clockFont, option:                             See 3.5.      (line 1672)
3444 clockMode, option:                             See 3.1.      (line  925)
3445 cmail:                                         See 10.       (line 2313)
3446 colorChallenge, option:                        See 3.3.      (line 1366)
3447 colorChannel, option:                          See 3.3.      (line 1366)
3448 colorChannel1, option:                         See 3.3.      (line 1366)
3449 colorize, option:                              See 3.3.      (line 1351)
3450 colorKibitz, option:                           See 3.3.      (line 1366)
3451 colorNormal, option:                           See 3.3.      (line 1366)
3452 colorRequest, option:                          See 3.3.      (line 1366)
3453 Colors <1>:                                    See 3.5.      (line 1743)
3454 Colors:                                        See 3.3.      (line 1351)
3455 colorSeek, option:                             See 3.3.      (line 1366)
3456 colorShout, option:                            See 3.3.      (line 1366)
3457 colorSShout, option:                           See 3.3.      (line 1366)
3458 colorTell, option:                             See 3.3.      (line 1366)
3459 Contributors:                                  See 9.        (line 2273)
3460 coordFont, option:                             See 3.5.      (line 1678)
3461 coords, option:                                See 3.5.      (line 1612)
3462 Copy Game, Menu Item:                          See 2.1.      (line  167)
3463 Copy Position, Menu Item:                      See 2.1.      (line  208)
3464 darkSquareColor, option:                       See 3.5.      (line 1743)
3465 debug, option:                                 See 3.7.      (line 1950)
3466 debugFile, option:                             See 3.7.      (line 1953)
3467 debugMode, option:                             See 3.7.      (line 1950)
3468 decline, ICS command:                          See 4.        (line 2044)
3469 Decline, Menu Item:                            See 2.3.      (line  411)
3470 defaultCacheSizeEGTB, option:                  See 3.2.      (line 1176)
3471 defaultFrcPosition, option:                    See 3.7.      (line 1918)
3472 defaultHashSize, option:                       See 3.2.      (line 1170)
3473 defaultPathEGTB, option:                       See 3.2.      (line 1182)
3474 delayAfterQuit, option:                        See 3.7.      (line 1986)
3475 delayBeforeQuit, option:                       See 3.7.      (line 1986)
3476 display, option:                               See 3.5.      (line 1553)
3477 drag, option:                                  See 3.5.      (line 1760)
3478 draw, ICS command:                             See 4.        (line 2056)
3479 Draw, Menu Item:                               See 2.3.      (line  422)
3480 Edit Comment, Menu Item:                       See 2.2.      (line  366)
3481 Edit Game, Menu Item:                          See 2.2.      (line  288)
3482 Edit Position, Menu Item:                      See 2.2.      (line  301)
3483 Edit Tags, Menu Item:                          See 2.2.      (line  343)
3484 egtFormats, option:                            See 3.2.      (line 1186)
3485 Engine Settings:                               See 3.2.      (line 1137)
3486 engineDebugOutput, option:                     See 3.7.      (line 1958)
3487 Environment variables:                         See 6.        (line 2182)
3488 examine, ICS command:                          See 4.        (line 2079)
3489 Exit, Menu Item:                               See 2.1.      (line  225)
3490 exit, option:                                  See 3.5.      (line 1567)
3491 fb, option:                                    See 3.1.      (line 1036)
3492 fcp, option:                                   See 3.1.      (line 1028)
3493 fd, option:                                    See 3.1.      (line 1052)
3494 fh, option:                                    See 3.1.      (line 1044)
3495 File Menu:                                     See 2.1.      (line   83)
3496 finger, ICS command:                           See 4.        (line 2066)
3497 firstChessProgram, option:                     See 3.1.      (line 1028)
3498 firstComputerString, option:                   See 3.1.      (line 1084)
3499 firstDirectory, option:                        See 3.1.      (line 1052)
3500 firstHasOwnBookUCI, option:                    See 3.2.      (line 1165)
3501 firstHost, option:                             See 3.1.      (line 1044)
3502 firstIsUCI, option:                            See 3.2.      (line 1139)
3503 firstNPS, option:                              See 3.1.      (line  948)
3504 firstOptions option:                           See 3.1.      (line 1124)
3505 firstPlaysBlack, option:                       See 3.1.      (line 1036)
3506 firstProtocolVersion, option:                  See 3.1.      (line 1101)
3507 firstScoreAbs, option:                         See 3.1.      (line 1109)
3508 firstTimeOdds, option:                         See 3.1.      (line  967)
3509 firstXBook, option:                            See 3.2.      (line 1165)
3510 Flash Moves, Menu Item:                        See 2.5.      (line  670)
3511 flash, option:                                 See 3.5.      (line 1655)
3512 flashCount, option:                            See 3.5.      (line 1655)
3513 flashRate, option:                             See 3.5.      (line 1655)
3514 Flip View, Menu Item:                          See 2.5.      (line  543)
3515 flip, option:                                  See 3.5.      (line 1624)
3516 flipView, option:                              See 3.5.      (line 1624)
3517 fNoOwnBookUCI, option:                         See 3.2.      (line 1165)
3518 Font:                                          See 3.5.      (line 1685)
3519 Font, clock:                                   See 3.5.      (line 1672)
3520 Font, coordinates:                             See 3.5.      (line 1678)
3521 font, option:                                  See 3.5.      (line 1685)
3522 fontSizeTolerance, option:                     See 3.5.      (line 1692)
3523 Forward to End, Menu Item:                     See 2.4.      (line  499)
3524 Forward, Menu Item:                            See 2.4.      (line  470)
3525 fUCI, option:                                  See 3.2.      (line 1139)
3526 gameListTags, option:                          See 3.4.      (line 1540)
3527 games, ICS command:                            See 4.        (line 2033)
3528 gateway, option:                               See 3.3.      (line 1246)
3529 geometry, option:                              See 3.5.      (line 1553)
3530 Get Move List, Menu Item:                      See 2.5.      (line  683)
3531 getMoveList, option:                           See 3.3.      (line 1331)
3532 Help Menu:                                     See 2.6.      (line  804)
3533 help, ICS command:                             See 4.        (line 2019)
3534 Hide Thinking, Menu Item:                      See 2.5.      (line  780)
3535 Highlight Last Move, Menu Item:                See 2.5.      (line  695)
3536 highlight, option:                             See 3.5.      (line 1664)
3537 highlightLastMove, option:                     See 3.5.      (line 1664)
3538 highlightSquareColor, option:                  See 3.5.      (line 1743)
3539 Hint, Menu Item:                               See 2.6.      (line  819)
3540 holdingsSize, option:                          See 3.7.      (line 1910)
3541 iconic, option:                                See 3.5.      (line 1553)
3542 ICS:                                           See 4.        (line 1995)
3543 ICS Alarm, Menu Item:                          See 2.5.      (line  715)
3544 ICS Client, Menu Item:                         See 2.2.      (line  266)
3545 ICS Input Box, Menu Item:                      See 2.2.      (line  371)
3546 ICS options:                                   See 3.3.      (line 1201)
3547 ICS, addresses:                                See 4.        (line 1995)
3548 ics, option:                                   See 3.3.      (line 1202)
3549 icsAlarm, option:                              See 3.3.      (line 1335)
3550 icsAlarmTime, option:                          See 3.3.      (line 1339)
3551 icscomm, option:                               See 3.3.      (line 1254)
3552 icshelper, option:                             See 3.3.      (line 1220)
3553 icshost, option:                               See 3.3.      (line 1207)
3554 icsinput, option:                              See 3.3.      (line 1307)
3555 icslogon, option:                              See 3.3.      (line 1291)
3556 icsport, option:                               See 3.3.      (line 1216)
3557 inc, option:                                   See 3.1.      (line  918)
3558 Info XBoard, Menu Item:                        See 2.6.      (line  805)
3559 initalMode, option:                            See 3.7.      (line 1844)
3560 initString, option:                            See 3.1.      (line 1061)
3561 Internet Chess Server:                         See 4.        (line 1995)
3562 internetChessServerCommPort, option:           See 3.3.      (line 1254)
3563 internetChessServerHelper, option:             See 3.3.      (line 1220)
3564 internetChessServerHost, option:               See 3.3.      (line 1207)
3565 internetChessServerInputBox, option:           See 3.3.      (line 1307)
3566 internetChessServerLogonScript, option:        See 3.3.      (line 1291)
3567 internetChessServerMode, option:               See 3.3.      (line 1202)
3568 internetChessServerPort, option:               See 3.3.      (line 1216)
3569 introduction:
3570           See ``Introduction''.                              (line   13)
3571 Keys:                                          See 2.7.      (line  838)
3572 legal, option:                                 See 3.5.      (line 1579)
3573 lgf, option:                                   See 3.4.      (line 1458)
3574 lgi, option:                                   See 3.4.      (line 1458)
3575 lightSquareColor, option:                      See 3.5.      (line 1743)
3576 Limitations:                                   See 7.        (line 2191)
3577 Load and Save options:                         See 3.4.      (line 1456)
3578 Load Game, Menu Item:                          See 2.1.      (line  115)
3579 Load Next Game, Menu Item:                     See 2.1.      (line  142)
3580 Load Next Position, Menu Item:                 See 2.1.      (line  188)
3581 Load Position, Menu Item:                      See 2.1.      (line  180)
3582 Load Previous Game, Menu Item:                 See 2.1.      (line  146)
3583 Load Previous Position, Menu Item:             See 2.1.      (line  191)
3584 loadGameFile, option:                          See 3.4.      (line 1458)
3585 loadGameIndex, option:                         See 3.4.      (line 1458)
3586 loadPositionFile, option:                      See 3.4.      (line 1502)
3587 loadPositionIndex, option:                     See 3.4.      (line 1502)
3588 lpf, option:                                   See 3.4.      (line 1502)
3589 lpi, option:                                   See 3.4.      (line 1502)
3590 Machine Black, Menu Item:                      See 2.2.      (line  235)
3591 Machine White, Menu Item:                      See 2.2.      (line  232)
3592 Mail Move, Menu Item:                          See 2.1.      (line  222)
3593 Major modes:                                   See 1.        (line   22)
3594 Man XBoard, Menu Item:                         See 2.6.      (line  812)
3595 matchGames, option:                            See 3.1.      (line 1005)
3596 matchMode, option:                             See 3.1.      (line 1018)
3597 materialDraws, option:                         See 3.6.      (line 1801)
3598 Menu, Action:                                  See 2.3.      (line  405)
3599 Menu, File:                                    See 2.1.      (line   83)
3600 Menu, Help:                                    See 2.6.      (line  804)
3601 Menu, Mode:                                    See 2.2.      (line  231)
3602 Menu, Options:                                 See 2.5.      (line  542)
3603 Menu, Step:                                    See 2.4.      (line  451)
3604 Menus:                                         See 2.        (line   60)
3605 mg, option:                                    See 3.1.      (line 1005)
3606 mm, option:                                    See 3.1.      (line 1018)
3607 Mode Menu:                                     See 2.2.      (line  231)
3608 mode, option:                                  See 3.7.      (line 1844)
3609 mono, option:                                  See 3.5.      (line 1648)
3610 monoMode, option:                              See 3.5.      (line 1648)
3611 Move Now, Menu Item:                           See 2.4.      (line  519)
3612 Move Sound, Menu Item:                         See 2.5.      (line  701)
3613 moves, option:                                 See 3.3.      (line 1331)
3614 movesound, option:                             See 3.5.      (line 1562)
3615 movesPerSession, option:                       See 3.1.      (line  914)
3616 mps, option:                                   See 3.1.      (line  914)
3617 msLoginDelay, option:                          See 3.3.      (line 1300)
3618 nameOfDebugFile, option:                       See 3.7.      (line 1953)
3619 ncp, option:                                   See 3.7.      (line 1839)
3620 New Game, Menu Item:                           See 2.1.      (line   84)
3621 New Shuffle Game, Menu Item:                   See 2.1.      (line   93)
3622 New variant, Menu Item:                        See 2.1.      (line  106)
3623 niceEngines, option:                           See 3.1.      (line 1115)
3624 noChessProgram, option:                        See 3.7.      (line 1839)
3625 noGUI, option:                                 See 3.5.      (line 1556)
3626 observe, ICS command:                          See 4.        (line 2075)
3627 Old Save Style, Menu Item:                     See 2.5.      (line  724)
3628 oldmoves, ICS command:                         See 4.        (line 2079)
3629 oldsave, option:                               See 3.4.      (line 1536)
3630 oldSaveStyle, option:                          See 3.4.      (line 1536)
3631 Options:                                       See 3.        (line  884)
3632 Options Menu:                                  See 2.5.      (line  542)
3633 Options, adjudication:                         See 3.6.      (line 1775)
3634 options, Chess engine:                         See 3.1.      (line  908)
3635 Options, ICS:                                  See 3.3.      (line 1201)
3636 Options, Load and Save:                        See 3.4.      (line 1456)
3637 Options, miscellaneous:                        See 3.7.      (line 1838)
3638 Options, User interface:                       See 3.5.      (line 1550)
3639 Other programs:                                See 11.       (line 2517)
3640 Paste Game, Menu Item:                         See 2.1.      (line  176)
3641 Paste Position, Menu Item:                     See 2.1.      (line  217)
3642 Pause, Menu Item:                              See 2.2.      (line  379)
3643 Periodic Updates, Menu Item:                   See 2.5.      (line  732)
3644 pgnEventHeader, option`:                       See 3.4.      (line 1528)
3645 pgnExtendedInfo, option`:                      See 3.4.      (line 1523)
3646 pieceToSquareTable, option:                    See 3.7.      (line 1924)
3647 pixmap, option:                                See 3.5.      (line 1702)
3648 pixmapDirectory, option:                       See 3.5.      (line 1702)
3649 PolyglotBook, option:                          See 3.2.      (line 1154)
3650 PolyglotDir, option:                           See 3.2.      (line 1146)
3651 Ponder Next Move, Menu Item:                   See 2.5.      (line  738)
3652 ponder, option:                                See 3.1.      (line  996)
3653 ponderNextMove, option:                        See 3.1.      (line  996)
3654 Popup Exit Message, Menu Item:                 See 2.5.      (line  743)
3655 Popup Move Errors, Menu Item:                  See 2.5.      (line  750)
3656 popup, option:                                 See 3.5.      (line 1571)
3657 popupExitMessage, option:                      See 3.5.      (line 1567)
3658 popupMoveErrors, option:                       See 3.5.      (line 1571)
3659 pre, option:                                   See 3.3.      (line 1343)
3660 Premove, Menu Item:                            See 2.5.      (line  759)
3661 premove, option:                               See 3.3.      (line 1343)
3662 Problems:                                      See 8.        (line 2244)
3663 queen, option:                                 See 3.5.      (line 1575)
3664 Quiet Play, Menu Item:                         See 2.5.      (line  770)
3665 quiet, option:                                 See 3.3.      (line 1347)
3666 quietPlay, option:                             See 3.3.      (line 1347)
3667 Reload CMail Message, Menu Item:               See 2.1.      (line  222)
3668 Reload Same Game, Menu Item:                   See 2.1.      (line  151)
3669 Reload Same Position, Menu Item:               See 2.1.      (line  196)
3670 remoteShell, option:                           See 3.7.      (line 1972)
3671 remoteUser, option:                            See 3.7.      (line 1977)
3672 Reporting bugs:                                See 8.        (line 2244)
3673 Reporting problems:                            See 8.        (line 2244)
3674 Resign, Menu Item:                             See 2.3.      (line  436)
3675 Retract Move, Menu Item:                       See 2.4.      (line  523)
3676 reuse, option:                                 See 3.1.      (line 1092)
3677 reuse2, option:                                See 3.1.      (line 1092)
3678 reuseFirst, option:                            See 3.1.      (line 1092)
3679 reuseSecond, option:                           See 3.1.      (line 1092)
3680 Revert, Menu Item:                             See 2.4.      (line  510)
3681 ringBellAfterMoves, option:                    See 3.5.      (line 1562)
3682 rsh, option:                                   See 3.7.      (line 1972)
3683 ruleMoves, option:                             See 3.6.      (line 1820)
3684 ruser, option:                                 See 3.7.      (line 1977)
3685 sameColorGames, option:                        See 3.1.      (line 1022)
3686 Save Game, Menu Item:                          See 2.1.      (line  155)
3687 saveGameFile, option:                          See 3.4.      (line 1492)
3688 saveOutOfBookInfo, option`:                    See 3.4.      (line 1532)
3689 savePositionFile, option:                      See 3.4.      (line 1518)
3690 scp, option:                                   See 3.1.      (line 1031)
3691 sd, option:                                    See 3.1.      (line  939)
3692 searchDepth, option:                           See 3.1.      (line  939)
3693 searchTime, option:                            See 3.1.      (line  932)
3694 secondChessProgram, option:                    See 3.1.      (line 1031)
3695 secondComputerString, option:                  See 3.1.      (line 1084)
3696 secondDirectory, option:                       See 3.1.      (line 1052)
3697 secondHasOwnBookUCI, option:                   See 3.2.      (line 1165)
3698 secondHost, option:                            See 3.1.      (line 1044)
3699 secondInitString, option:                      See 3.1.      (line 1061)
3700 secondIsUCI, option:                           See 3.2.      (line 1139)
3701 secondNPS, option:                             See 3.1.      (line  948)
3702 secondOptions, option:                         See 3.1.      (line 1124)
3703 secondProtocolVersion, option:                 See 3.1.      (line 1101)
3704 secondScoreAbs, option:                        See 3.1.      (line 1109)
3705 secondTimeOdds, option:                        See 3.1.      (line  967)
3706 secondXBook, option:                           See 3.2.      (line 1165)
3707 set, ICS command:                              See 4.        (line 2072)
3708 Settings, Engine:                              See 3.2.      (line 1137)
3709 sgf, option:                                   See 3.4.      (line 1492)
3710 sh, option:                                    See 3.1.      (line 1044)
3711 Shortcut keys:                                 See 2.7.      (line  838)
3712 Show Coords, Menu Item:                        See 2.5.      (line  776)
3713 Show Engine Output, Menu Item:                 See 2.2.      (line  339)
3714 Show Game List, Menu Item:                     See 2.2.      (line  330)
3715 Show Move History, Menu Item:                  See 2.2.      (line  334)
3716 showButtonBar, option:                         See 3.5.      (line 1642)
3717 showCoords, option:                            See 3.5.      (line 1612)
3718 showThinking, option:                          See 3.1.      (line  986)
3719 size, option:                                  See 3.5.      (line 1583)
3720 sNoOwnBookUCI, option:                         See 3.2.      (line 1165)
3721 soundChallenge, option:                        See 3.3.      (line 1409)
3722 soundChannel, option:                          See 3.3.      (line 1409)
3723 soundIcsAlarm, option:                         See 3.3.      (line 1417)
3724 soundIcsDraw, option:                          See 3.3.      (line 1428)
3725 soundIcsLoss, option:                          See 3.3.      (line 1424)
3726 soundIcsUnfinished, option:                    See 3.3.      (line 1432)
3727 soundIcsWin, option:                           See 3.3.      (line 1420)
3728 soundKibitz, option:                           See 3.3.      (line 1409)
3729 soundMove, option:                             See 3.3.      (line 1414)
3730 soundProgram, option:                          See 3.3.      (line 1393)
3731 soundRequest, option:                          See 3.3.      (line 1409)
3732 Sounds:                                        See 3.3.      (line 1393)
3733 soundSeek, option:                             See 3.3.      (line 1409)
3734 soundShout, option:                            See 3.3.      (line 1409)
3735 soundSShout, option:                           See 3.3.      (line 1409)
3736 soundTell, option:                             See 3.3.      (line 1409)
3737 spf, option:                                   See 3.4.      (line 1518)
3738 st, option:                                    See 3.1.      (line  932)
3739 Step Menu:                                     See 2.4.      (line  451)
3740 Stop Examining, Menu Item:                     See 2.3.      (line  444)
3741 Stop Observing, Menu Item:                     See 2.3.      (line  440)
3742 sUCI, option:                                  See 3.2.      (line 1139)
3743 tc, option:                                    See 3.1.      (line  909)
3744 td, option:                                    See 3.4.      (line 1486)
3745 telnet, option:                                See 3.3.      (line 1228)
3746 telnetProgram, option:                         See 3.3.      (line 1237)
3747 Test Legality, Menu Item:                      See 2.5.      (line  789)
3748 testClaims, option:                            See 3.6.      (line 1795)
3749 testLegality, option:                          See 3.5.      (line 1579)
3750 thinking, option:                              See 3.1.      (line  986)
3751 Time Control, Menu Item:                       See 2.5.      (line  586)
3752 timeControl, option:                           See 3.1.      (line  909)
3753 timeDelay, option:                             See 3.4.      (line 1486)
3754 timeIncrement, option:                         See 3.1.      (line  918)
3755 timeOddsMode, option:                          See 3.1.      (line  973)
3756 title, option:                                 See 3.5.      (line 1634)
3757 titleInWindow, option:                         See 3.5.      (line 1634)
3758 Training, Menu Item:                           See 2.2.      (line  319)
3759 trivialDraws, option:                          See 3.6.      (line 1808)
3760 Truncate Game, Menu Item:                      See 2.4.      (line  514)
3761 Two Machines, Menu Item:                       See 2.2.      (line  238)
3762 usePolyglotBook, option:                       See 3.2.      (line 1151)
3763 User interface options:                        See 3.5.      (line 1550)
3764 userName, option:                              See 3.7.      (line 1981)
3765 useTelnet, option:                             See 3.3.      (line 1228)
3766 variant, option:                               See 3.7.      (line 1852)
3767 vars, ICS command:                             See 4.        (line 2069)
3768 whitePieceColor, option:                       See 3.5.      (line 1743)
3769 who, ICS command:                              See 4.        (line 2025)
3770 xflash, option:                                See 3.5.      (line 1655)
3771 Table of Contents
3772 *****************
3773
3774 Introduction
3775 1 Major modes
3776 2 Menus, buttons, and keys
3777   2.1 File Menu
3778   2.2 Mode Menu
3779   2.3 Action Menu
3780   2.4 Step Menu
3781   2.5 Options Menu
3782   2.6 Help Menu
3783   2.7 Other Shortcut Keys
3784 3 Options
3785   3.1 Chess Engine Options
3786   3.2 UCI + WB Engine Settings
3787   3.3 ICS options
3788   3.4 Load and Save options
3789   3.5 User interface options
3790   3.6 Adjudication Options
3791   3.7 Other options
3792 4 Chess Servers
3793 5 Firewalls
3794 6 Environment variables
3795 7 Limitations and known bugs
3796 8 Reporting problems
3797 9 Authors and contributors
3798 10 CMail
3799   10.1 CMail options
3800   10.2 Starting a CMail Game
3801   10.3 Answering a Move
3802   10.4 Multi-Game Messages
3803   10.5 Completing a Game
3804   10.6 Known CMail Problems
3805 11 Other programs you can use with XBoard
3806   11.1 GNU Chess
3807   11.2 Fairy-Max
3808   11.3 HoiChess
3809   11.4 Crafty
3810   11.5 zic2xpm
3811 Copyright
3812 GNU GENERAL PUBLIC LICENSE
3813 Index
3814
3815
3816    \r \r
3817