updatd manual, added FAQ
[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
1133 -firstNeedsNoncompliantFEN string
1134 -secondNeedsNoncompliantFEN string
1135      The castling rights and e.p. fields of the FEN sent to the
1136      mentioned engine \r with the setboard command will be replaced by
1137      the given string. This can for \r instance be used to run engines
1138      that do not understand Chess960 FENs in \r variant fischerandom,
1139      to make them at least understand the opening position, \r through
1140      setting the string to Â“KQkq -”. (Note you also have to give the
1141      e.p. field!) \r Other possible applications are to provide
1142      work-arounds for engines that want to see \r castling and e.p.
1143      fields in variants that do not have castling or e.p. \r (shatranj,
1144      courier, xiangqi, shogi) so that WinBoard would normally omit them
1145      \r (string = Â“- -“), or to add variant-specific fields that are
1146      not yet supported by WinBoard \r (e.g. to indicate the number of
1147      checks in 3check).\r
1148 \r
1149
1150 3.2 UCI + WB Engine Settings
1151 ============================
1152
1153 -fUCI or -firstIsUCI true/false
1154 -sUCI or -secondIsUCI true/false
1155      Indicates if the mentioned engine executable file is an UCI
1156      engine, \r and should be run with the aid of the Polyglot adapter
1157      rather than directly. \r Xboard will then pass the other UCI
1158      options and engine name to Polyglot \r through a .ini temporary
1159      file ceated for the purpose.\r
1160
1161 -PolyglotDir filename
1162      Gives the name of the directory in which the Polyglot adapter for
1163      UCI engines expects its files.\r Default:
1164      "/usr/local/share/polyglot".\r
1165
1166 -usePolyglotBook true/false
1167      Specifies if the Polygot book should be used.\r
1168
1169 -PolyglotBook filename
1170      Gives the filename of the opening book that Polyglot should use. \r
1171      From XBoard 4.3.15 on, native WinBoard engines will also use the
1172      opening book specified here, \r provided the `usePolyglotBook'
1173      option is set to true,\r and the option `firstHasOwnBookUCI' or
1174      `secondHasOwnBookUCI' applying to the engine\r is set to false.\r
1175      The engine will be kept in force mode as long as the current
1176      position is in book, \r and XBoard will select the book moves for
1177      it. Default "".\r
1178
1179 -fNoOwnBookUCI or -firstXBook or -firstHasOwnBookUCI true/false
1180 -sNoOwnBookUCI or -secondXBook or -secondHasOwnBookUCI true/false
1181      Indicates if the mentioned engine has its own opening book it
1182      should play from,\r rather than using the external book through
1183      XBoard. Default: false.\r
1184
1185 -defaultHashSize n
1186      Sets the size of the hash table to n MegaBytes. Together with the
1187      EGTB cache size \r this number is also used to calculate the
1188      memory setting of WinBoard engines, \r for those that support the
1189      memory feature of WinBoard protocol. Default: 64.\r
1190
1191 -defaultCacheSizeEGTB n
1192      Sets the size of the EGTB cache to n MegaBytes. Together with the
1193      hash-table size \r this number is also used to calculate the
1194      memory setting of WinBoard engines, \r for those that support the
1195      memory feature of WinBoard protocol. Default: 4.\r
1196
1197 -defaultPathEGTB filename
1198      Gives the name of the directory where the end-game tablebases are
1199      installed, for UCI engines.\r Default: "/usr/local/share/egtb".\r
1200
1201 -egtFormats string
1202      Specifies which end-game tables are installed on the computer, and
1203      where. \r The argument is a comma-separated list of format
1204      specifications, \r each specification consisting of a format name,
1205      a colon, and a directory path name, \r e.g.
1206      "nalimov:/usr/local/share/egtb". \r If the name part matches that
1207      of a format that the engine requests through a feature command, \r
1208      xboard will relay the path name for this format to the engine
1209      through an egtpath command. \r One egtpath command for each
1210      matching format will be sent. \r Popular formats are "nalimov" DTM
1211      tablebases and "scorpio" bitbases.\r Default: "".\r
1212 \r
1213
1214 3.3 ICS options
1215 ===============
1216
1217 -ics/-xics or -internetChessServerMode true/false
1218      Connect with an Internet Chess Server to play chess against its\r
1219      other users, observe games they are playing, or review games\r
1220      that have recently finished. Default: false.\r
1221
1222 -icshost or -internetChessServerHost host
1223      The Internet host name or address of the chess server to connect\r
1224      to when in ICS mode. Default: `chessclub.com'.\r Another popular
1225      chess server to try is `freechess.org'.\r If your site doesn't
1226      have a working Internet name server, try\r specifying the host
1227      address in numeric form. \r You may also need\r to specify the
1228      numeric address when using the icshelper option\r with timestamp
1229      or timeseal (see below).\r
1230
1231 -icsport or -internetChessServerPort port-number
1232      The port number to use when connecting to a chess server in ICS\r
1233      mode. Default: 5000.\r
1234
1235 -icshelper or -internetChessServerHelper prog-name
1236      An external helper program used to communicate with the chess
1237      server.\r You would set it to "timestamp" for ICC (chessclub.com)
1238      or\r "timeseal" for FICS (freechess.org), after\r obtaining the
1239      correct version of timestamp or timeseal for your\r computer.  See
1240      "help timestamp" on ICC and "help timeseal" on FICS.\r This option
1241      is shorthand for `-useTelnet -telnetProgram program'.\r
1242
1243 -telnet/-xtelnet or -useTelnet true/false
1244      This option is poorly named; it should be called useHelper.\r If
1245      set to true, it instructs XBoard to run an external\r program to
1246      communicate with the Internet Chess Server. \r The program to use
1247      is given by the telnetProgram option.\r If the option is\r false
1248      (the default), XBoard opens a TCP socket and uses its own\r
1249      internal implementation of the telnet protocol to communicate with
1250      the\r ICS. *Note Firewalls::.\r
1251
1252 -telnetProgram prog-name
1253      This option is poorly named; it should be called helperProgram.\r
1254      It gives the name of the telnet program to be used with\r the
1255      `gateway' and `useTelnet' options.  The default is\r `telnet'. The
1256      telnet program is invoked with the value of\r
1257      `internetChessServerHost' as its first argument and the value\r of
1258      `internetChessServerPort' as its second argument.\r *Note
1259      Firewalls::.\r
1260
1261 -gateway host-name
1262      If this option is set to a host name, XBoard communicates with
1263      the\r Internet Chess Server by using `rsh' to run\r the
1264      `telnetProgram' on the given host,\r instead of using its own
1265      internal implementation\r of the telnet protocol. You can
1266      substitute a different remote shell\r program for `rsh' using the
1267      `remoteShell' option described below.\r *Note Firewalls::.\r
1268
1269 -internetChessServerCommPort or -icscomm dev-name
1270      If this option is set, XBoard communicates with the ICS through\r
1271      the given character I/O device instead of opening a TCP
1272      connection.\r Use this option if your system does not have any
1273      kind of\r Internet connection itself (not even a SLIP or PPP
1274      connection),\r but you do have dialup access (or a hardwired
1275      terminal line) to\r an Internet service provider from which you
1276      can telnet to the ICS.\r \r The support for this option in XBoard
1277      is minimal. You need to\r set all communication parameters and tty
1278      modes before you enter\r XBoard.\r \r Use a script something like
1279      this:\r \r
1280           stty raw -echo 9600 > /dev/tty00\r
1281           xboard -ics -icscomm /dev/tty00\r
1282      \r Here replace `/dev/tty00' with the name of the device that
1283      your\r modem is connected to. You might have to add several more\r
1284      options to these stty commands. See the man pages for `stty'\r and
1285      `tty' if you run into problems. Also, on many systems stty\r works
1286      on its standard input instead of standard output, so you\r have to
1287      use `<' instead of `>'.\r \r If you are using linux, try starting
1288      with the script below.\r Change it as necessary for your
1289      installation.\r \r
1290           #!/bin/sh -f\r
1291           # configure modem and fire up XBoard\r
1292           \r
1293           # configure modem\r
1294           (\r
1295             stty 2400 ; stty raw ; stty hupcl ; stty -clocal\r
1296             stty ignbrk ; stty ignpar ; stty ixon ; stty ixoff\r
1297             stty -iexten ; stty -echo\r
1298           ) < /dev/modem\r
1299           xboard -ics -icscomm /dev/modem\r
1300      After you start XBoard in this way, type whatever commands are\r
1301      necessary to dial out to your Internet provider and log in.\r Then
1302      telnet to ICS, using a command like\r `telnet chessclub.com
1303      5000'.\r Important: See the paragraph below about extra echoes, \r
1304      in *note Limitations::.\r
1305
1306 -icslogon or -internetChessServerLogonScript file-name
1307      Whenever XBoard connects to the Internet Chess Server,\r if it
1308      finds a file with the name given in this option, it feeds the\r
1309      file's contents to the ICS as commands. The default file name\r is
1310      `.icsrc'.\r Usually the first two lines of the file should be\r
1311      your ICS user name and password.\r The file can be either in
1312      $CHESSDIR, in XBoard's working\r directory if CHESSDIR is not set,
1313      or in your home directory.\r
1314
1315 -msLoginDelay delay
1316      If you experience trouble logging on to an ICS when using the\r
1317      `-icslogon' option, inserting some delay between characters\r of
1318      the logon script may help. This option adds `delay'\r milliseconds
1319      of delay between characters. Good values to try\r are 100 and
1320      250.\r
1321
1322 -icsinput/-xicsinput or -internetChessServerInputBox true/false
1323      Sets the ICS Input Box menu option. *Note Mode Menu::. Default:
1324      false.\r
1325
1326 -autocomm/-xautocomm or -autoComment true/false
1327      Sets the Auto Comment menu option. *Note Options Menu::. Default:
1328      false.\r
1329
1330 -autoflag/-xautoflag or -autoCallFlag true/false
1331      Sets the Auto Flag menu option.  *Note Options Menu::. Default:
1332      false.\r
1333
1334 -autobs/-xautobs or -autoObserve true/false
1335      Sets the Auto Observe menu option.  *Note Options Menu::. Default:
1336      false.\r
1337
1338 -autoKibitz
1339      Enables kibitzing of the engines last thinking output (depth,
1340      score, time, speed, PV) \r before it moved\r to the ICS, in zippy
1341      mode. The option `showThinking' must be switched on for \r this
1342      option to work.\r Also diverts similar kibitz information of an
1343      opponent engine that is playing you \r through the ICS to the
1344      engine-output window, as if the engine was playing locally.\r
1345
1346 -moves/-xmoves or -getMoveList true/false
1347      Sets the Get Move List menu option.  *Note Options Menu::.
1348      Default: true.\r
1349
1350 -alarm/-xalarm or -icsAlarm true/false
1351      Sets the ICS Alarm menu option.  *Note Options Menu::. Default:
1352      true.\r
1353
1354 -icsAlarmTime ms
1355      Sets the time in milliseconds for the ICS Alarm menu option. \r
1356      *Note Options Menu::. Default: 5000.\r
1357
1358 -pre/-xpre \fRor\fB -premove true/false
1359      Sets the Premove menu option. *Note Options Menu::. Default:
1360      true.\r
1361
1362 -quiet/-xquiet or -quietPlay true/false
1363      Sets the Quiet Play menu option.  *Note Options Menu::.  Default:
1364      false.\r
1365
1366 -colorizeMessages or -colorize
1367      Setting colorizeMessages\r to true tells XBoard to colorize the
1368      messages received from\r the ICS.  Colorization works only if your
1369      xterm \r supports ISO 6429 escape sequences for changing text
1370      colors.\r
1371
1372 -colorShout foreground,background,bold
1373 -colorSShout foreground,background,bold
1374 -colorChannel1 foreground,background,bold
1375 -colorChannel foreground,background,bold
1376 -colorKibitz foreground,background,bold
1377 -colorTell foreground,background,bold
1378 -colorChallege foreground,background,bold
1379 -colorRequest foreground,background,bold
1380 -colorSeek foreground,background,bold
1381 -colorNormal foreground,background,bold
1382      These options set the colors used when colorizing ICS messages.\r
1383      All ICS messages are grouped into one of these categories:\r
1384      shout, sshout, channel 1, other channel, kibitz, tell, challenge,
1385      \r request (including abort, adjourn, draw, pause, and takeback),
1386      or\r normal (all other messages).  \r \r Each foreground or
1387      background argument can be one of the following:\r black, red,
1388      green, yellow, blue, magenta, cyan, white, or default.\r Here
1389      "default" means the default foreground or background color of\r
1390      your xterm.  Bold can be 1 or 0.  If background is omitted,
1391      "default"\r is assumed; if bold is omitted, 0 is assumed.\r \r
1392      Here is an example of how to set the colors in your `.Xresources'
1393      file.\r The colors shown here are the default values; you will
1394      get\r them if you turn `-colorize' on without specifying your own
1395      colors.\r \r
1396           xboard*colorizeMessages: true \r
1397           xboard*colorShout: green\r
1398           xboard*colorSShout: green, black, 1\r
1399           xboard*colorChannel1: cyan\r
1400           xboard*colorChannel: cyan, black, 1\r
1401           xboard*colorKibitz: magenta, black, 1\r
1402           xboard*colorTell: yellow, black, 1\r
1403           xboard*colorChallenge: red, black, 1\r
1404           xboard*colorRequest: red\r
1405           xboard*colorSeek: blue\r
1406           xboard*colorNormal: default\r
1407
1408 -soundProgram progname
1409      If this option is set to a sound-playing program that is installed
1410      and\r working on your system, XBoard can play sound files when
1411      certain\r events occur, listed below.  The default program name is
1412      "play".  If\r any of the sound options is set to "$", the event
1413      rings the terminal\r bell by sending a ^G character to standard
1414      output, instead of playing\r a sound file.  If an option is set to
1415      the empty string "", no sound is\r played for that event.\r
1416
1417 -soundShout filename
1418 -soundSShout filename
1419 -soundChannel filename
1420 -soundKibitz filename
1421 -soundTell filename
1422 -soundChallenge filename
1423 -soundRequest filename
1424 -soundSeek filename
1425      These sounds are triggered in the same way as the colorization
1426      events\r described above.  They all default to "", no sound.  They
1427      are played\r only if the colorizeMessages is on.\r
1428
1429 -soundMove filename
1430      This sound is used by the Move Sound menu option.  Default: "$".\r
1431
1432 -soundIcsAlarm filename
1433      This sound is used by the ICS Alarm menu option.  Default: "$".\r
1434
1435 -soundIcsWin filename
1436      This sound is played when you win an ICS game.  Default: "" (no
1437      sound).\r
1438
1439 -soundIcsLoss filename
1440      This sound is played when you lose an ICS game.  Default: "" (no
1441      sound).\r
1442
1443 -soundIcsDraw filename
1444      This sound is played when you draw an ICS game.  Default: "" (no
1445      sound).\r
1446
1447 -soundIcsUnfinished filename
1448      This sound is played when an ICS game that you are participating
1449      in is\r aborted, adjourned, or otherwise ends inconclusively.
1450      Default: "" (no\r sound).\r \r Here is an example of how to set
1451      the sounds in your `.Xresources' file:\r \r
1452           xboard*soundShout: shout.wav\r
1453           xboard*soundSShout: sshout.wav\r
1454           xboard*soundChannel1: channel1.wav\r
1455           xboard*soundChannel: channel.wav\r
1456           xboard*soundKibitz: kibitz.wav\r
1457           xboard*soundTell: tell.wav\r
1458           xboard*soundChallenge: challenge.wav\r
1459           xboard*soundRequest: request.wav\r
1460           xboard*soundSeek: seek.wav\r
1461           xboard*soundMove: move.wav\r
1462           xboard*soundIcsWin: win.wav\r
1463           xboard*soundIcsLoss: lose.wav\r
1464           xboard*soundIcsDraw: draw.wav\r
1465           xboard*soundIcsUnfinished: unfinished.wav\r
1466           xboard*soundIcsAlarm: alarm.wav\r
1467 \r
1468
1469 3.4 Load and Save options
1470 =========================
1471
1472 -lgf or -loadGameFile file
1473 -lgi or -loadGameIndex index
1474      If the `loadGameFile' option is set, XBoard loads the specified\r
1475      game file at startup. The file name `-' specifies the standard\r
1476      input. If there is more than one game in the file, XBoard\r pops
1477      up a menu of the available games, with entries based on their PGN
1478      \r (Portable Game Notation) tags.\r If the `loadGameIndex' option
1479      is set to `N', the menu is suppressed\r and the N th game found in
1480      the file is loaded immediately.\r The menu is also suppressed if
1481      `matchMode' is enabled or if the game file\r is a pipe; in these
1482      cases the first game in the file is loaded immediately.\r Use the
1483      `pxboard' shell script provided with XBoard if you\r want to pipe
1484      in files containing multiple games and still see the menu.\r If
1485      the loadGameIndex specifies an index -1, this triggers
1486      auto-increment\r of the index in `matchMode', which means that
1487      after every game the\r index is incremented by one, causing each
1488      game of the match to be played\r from the next game in the file.
1489      Similarly, specifying an index value of -2\r causes the index to
1490      be incremented every two games, so that each game\r in the file is
1491      used twice (with reversed colors).\r The `rewindIndex' option
1492      causes the index to be reset to the\r first game of the file when
1493      it has reached a specified value.\r
1494
1495 -rewindIndex n
1496      Causes a position file or game file to be rewound to its beginning
1497      after n\r positions or games in auto-increment `matchMode'. \r See
1498      `loadPositionIndex' and `loadGameIndex'.\r default: 0 (no
1499      rewind).\r
1500
1501 -td or -timeDelay seconds
1502      Time delay between moves during `Load Game'. Fractional seconds\r
1503      are allowed; try `-td 0.4'. A time delay value of -1 tells\r
1504      XBoard not to step through game files automatically. Default: 1\r
1505      second.\r
1506
1507 -sgf or -saveGameFile file
1508      If this option is set, XBoard appends a record of every game\r
1509      played to the specified file. The file name `-' specifies the\r
1510      standard output.\r
1511
1512 -autosave/-xautosave or -autoSaveGames true/false
1513      Sets the Auto Save menu option.  *Note Options Menu::.  Default:
1514      false.\r Ignored if `saveGameFile' is set.\r
1515
1516 -lpf or -loadPositionFile file
1517 -lpi or -loadPositionIndex index
1518      If the `loadPositionFile' option is set, XBoard loads the\r
1519      specified position file at startup. The file name `-' specifies
1520      the\r standard input. If the `loadPositionIndex' option is set to
1521      N,\r the Nth position found in the file is loaded; otherwise the\r
1522      first position is loaded.\r If the loadPositionIndex specifies an
1523      index -1, this triggers auto-increment\r of the index in
1524      `matchMode', which means that after every game the\r index is
1525      incremented by one, causing each game of the match to be played\r
1526      from the next position in the file. Similarly, specifying an index
1527      value of -2\r causes the index to be incremented every two games,
1528      so that each position\r in the file is used twice (with the
1529      engines playing opposite colors).\r The `rewindIndex' option
1530      causes the index to be reset to the\r first position of the file
1531      when it has reached a specified value.\r
1532
1533 -spf or -savePositionFile file
1534      If this option is set, XBoard appends the final position reached\r
1535      in every game played to the specified file. The file name `-'\r
1536      specifies the standard output.\r
1537
1538 -pgnExtendedInfo true/false
1539      If this option is set, WinBoard saves depth, score and time used
1540      for each \r move that the engine found as a comment in the PGN
1541      file.\r Default: false.\r
1542
1543 -pgnEventHeader string
1544      Sets the name used in the PGN event tag to string. \r Default:
1545      "Computer Chess Game".\r
1546
1547 -saveOutOfBookInfo true/false
1548      Include the information on how the engine(s) game out of its
1549      opening book in a special 'annotator' tag with the PGN file.\r
1550
1551 -oldsave/-xoldsave or -oldSaveStyle true/false
1552      Sets the Old Save Style menu option.  *Note Options Menu::.
1553      Default: false.\r
1554
1555 -gameListTags string
1556      The character string lists the PGN tags that should be printed in
1557      the\r Game List, and their order. The meaning of the codes is
1558      e=event,\r s=site, d=date, o=round, p=players, r=result, w=white
1559      Elo, b=black Elo,\r t=time control, v=variant, a=out-of-book
1560      info.\r Default: "eprd"\r
1561 \r
1562
1563 3.5 User interface options
1564 ==========================
1565
1566 -display
1567 -geometry
1568 -iconic
1569      These and most other standard Xt options are accepted.\r
1570
1571 -noGUI
1572      Suppresses all GUI functions of XBoard \r (to speed up automated
1573      ultra-fast engine-engine games, which you donÂ’t want to watch). \r
1574      There will be no board or clock updates, no printing of moves, \r
1575      and no update of the icon on the task bar in this mode.\r
1576
1577 -movesound/-xmovesound or -ringBellAfterMoves true/false
1578      Sets the Move Sound menu option.  *Note Options Menu::.  Default:
1579      false.\r For compatibility with old XBoard versions, -bell/-xbell
1580      are also \r accepted as abbreviations for this option.\r
1581
1582 -exit/-xexit or -popupExitMessage true/false
1583      Sets the Popup Exit Message menu option.  *Note Options Menu::.
1584      Default: true.\r
1585
1586 -popup/-xpopup or -popupMoveErrors true/false
1587      Sets the Popup Move Errors menu option.  *Note Options Menu::.
1588      Default: false.\r
1589
1590 -queen/-xqueen or -alwaysPromoteToQueen true/false
1591      Sets the Always Queen menu option.  *Note Options Menu::.
1592      Default: false.\r
1593
1594 -legal/-xlegal or -testLegality true/false
1595      Sets the Test Legality menu option.  *Note Options Menu::.
1596      Default: true.\r
1597
1598 -size or -boardSize (sizeName | n1,n2,n3,n4,n5,n6,n7)
1599      Determines how large the board will be, by selecting the pixel
1600      size\r of the pieces and setting a few related parameters.\r The
1601      sizeName can be one of: Titanic, giving 129x129 pixel pieces,\r
1602      Colossal 116x116, Giant 108x108, Huge 95x95, Big 87x87, Large
1603      80x80, Bulky 72x72,\r Medium 64x64, Moderate 58x58, Average 54x54,
1604      Middling 49x49, Mediocre\r 45x45, Small 40x40, Slim 37x37, Petite
1605      33x33, Dinky 29x29, Teeny 25x25,\r or Tiny 21x21.\r Pieces of all
1606      these sizes are built into XBoard.\r Other sizes can\r be used if
1607      you have them; see the pixmapDirectory and bitmapDirectory\r
1608      options.\r The default depends on the size of your screen; it is
1609      approximately the\r largest size that will fit without clipping.\r
1610      \r You can select other sizes or vary other layout parameters by
1611      providing\r a list of comma-separated values (with no spaces) as
1612      the argument.\r You do not need to provide all the values; for any
1613      you omit from the\r end of the list, defaults are taken from the
1614      nearest built-in size.\r The value `n1' gives the piece size, `n2'
1615      the width of the\r black border\r between squares, `n3' the
1616      desired size for the \r clockFont, `n4' the desired size for the
1617      coordFont,\r `n5' the desired size for the default font,\r `n6'
1618      the smallLayout flag (0 or 1), \r and `n7' the tinyLayout flag (0
1619      or 1).  \r All dimensions are in pixels.\r If the border between
1620      squares is eliminated (0 width), the various\r highlight options
1621      will not work, as there is nowhere to draw the highlight.\r If
1622      smallLayout is 1 and `titleInWindow' is true, \r the window layout
1623      is rearranged to make more room for the title.\r If tinyLayout is
1624      1, the labels on the menu bar are abbreviated\r to one character
1625      each and the buttons in the button bar are made narrower.\r
1626
1627 -coords/-xcoords or -showCoords true/false
1628      Sets the Show Coords menu option.  *Note Options Menu::.  Default:
1629      false.\r The `coordFont' option specifies what font to use.\r
1630
1631 -autoraise/-xautoraise or -autoRaiseBoard true/false
1632      Sets the Auto Raise Board menu option.  *Note Options Menu::.
1633      Default: true.\r
1634
1635 -autoflip/-xautoflip or -autoFlipView true/false
1636      Sets the Auto Flip View menu option.  *Note Options Menu::.
1637      Default: true.\r
1638
1639 -flip/-xflip or -flipView true/false
1640      If Auto Flip View is not set, or if you are observing but not
1641      participating\r in a game, then the positioning of the board at
1642      the start of each game\r depends on the flipView option.  If
1643      flipView is false (the default),\r the board is positioned so that
1644      the white pawns move from the bottom to the\r top; if true, the
1645      black pawns move from the bottom to the top.\r In any case, the
1646      Flip menu option (see *note Options Menu::)\r can be used to flip
1647      the board after\r the game starts.\r
1648
1649 -title/-xtitle or -titleInWindow true/false
1650      If this option is true, XBoard displays player names (for ICS\r
1651      games) and game file names (for `Load Game') inside its main\r
1652      window. If the option is false (the default), this information is\r
1653      displayed only in the window banner. You probably won't want to\r
1654      set this option unless the information is not showing up in the\r
1655      banner, as happens with a few X window managers.\r
1656
1657 -buttons/-xbuttons or -showButtonBar True/False
1658      If this option is False, xboard omits the [<<] [<] [P] [>] [>>]
1659      button\r bar from the window, allowing the message line to be
1660      wider.  You can\r still get the functions of these buttons using
1661      the menus or their keyboard\r shortcuts.  Default: true.\r
1662
1663 -mono/-xmono or -monoMode true/false
1664      Determines whether XBoard displays its pieces and squares with\r
1665      two colors (true) or four (false). You shouldn't have to\r specify
1666      `monoMode'; XBoard will determine if it is necessary.\r
1667
1668 -flashCount count
1669 -flashRate rate
1670 -flash/-xflash
1671      These options enable flashing of pieces when they\r land on their
1672      destination square.\r `flashCount'\r tells XBoard how many times
1673      to flash a piece after it\r lands on its destination square.\r
1674      `flashRate'\r controls the rate of flashing (flashes/sec).\r
1675      Abbreviations:\r `flash'\r sets flashCount to 3.\r `xflash'\r sets
1676      flashCount to 0.\r Defaults:  flashCount=0 (no flashing),
1677      flashRate=5.\r
1678
1679 -highlight/-xhighlight or -highlightLastMove true/false
1680      Sets the Highlight Last Move menu option. *Note Options Menu::.
1681      Default: false.\r
1682
1683 -blind/-xblind or -blindfold true/false
1684      Sets the Blindfold menu option.  *Note Options Menu::.  Default:
1685      false.\r
1686
1687 -clockFont font
1688      The font used for the clocks. If the option value is a pattern\r
1689      that does not specify the font size, XBoard tries to choose an\r
1690      appropriate font for the board size being used.\r Default:
1691      -*-helvetica-bold-r-normal-*-*-*-*-*-*-*-*.\r
1692
1693 -coordFont font
1694      The font used for rank and file coordinate labels if `showCoords'\r
1695      is true. If the option value is a pattern that does not specify\r
1696      the font size, XBoard tries to choose an appropriate font for\r
1697      the board size being used.\r Default:
1698      -*-helvetica-bold-r-normal-*-*-*-*-*-*-*-*.\r
1699
1700 -font font
1701      The font used for popup dialogs, menus, comments, etc.\r If the
1702      option value is a pattern that does not specify\r the font size,
1703      XBoard tries to choose an appropriate font for\r the board size
1704      being used.\r Default:
1705      -*-helvetica-medium-r-normal-*-*-*-*-*-*-*-*.\r
1706
1707 -fontSizeTolerance tol
1708      In the font selection algorithm, a nonscalable font will be
1709      preferred\r over a scalable font if the nonscalable font's size
1710      differs\r by `tol' pixels\r or less from the desired size.  A
1711      value of -1 will force\r a scalable font to always be used if
1712      available; a value of 0 will\r use a nonscalable font only if it
1713      is exactly the right size; \r a large value (say 1000) will force
1714      a nonscalable font to always be\r used if available.  Default: 4.\r
1715
1716 -bm or -bitmapDirectory dir
1717 -pixmap or -pixmapDirectory dir
1718      These options control what piece images xboard uses.  The XBoard\r
1719      distribution includes one set of pixmap pieces in xpm format, in
1720      the\r directory `pixmaps', and one set of bitmap pieces in xbm
1721      format,\r in the directory `bitmaps'.  Pixmap\r pieces give a
1722      better appearance on the screen: the white pieces have\r dark
1723      borders, and the black pieces have opaque internal details.  With\r
1724      bitmaps, neither piece color has a border, and the internal
1725      details\r are transparent; you see the square color or other
1726      background color\r through them.\r \r If XBoard is configured and
1727      compiled on a system that includes libXpm,\r the X pixmap library,
1728      the xpm pixmap pieces are compiled in as the\r default.  A
1729      different xpm piece set can be selected at runtime with\r the
1730      `pixmapDirectory' option, or a bitmap piece set can be selected\r
1731      with the `bitmapDirectory' option.\r \r If XBoard is configured
1732      and compiled on a system that does not include\r libXpm (or the
1733      `--disable-xpm' option is given to the configure\r program), the
1734      bitmap pieces are compiled in as the default.  It is not\r
1735      possible to use xpm pieces in this case, but pixmap pieces in
1736      another\r format called "xim" can be used by giving the
1737      `pixmapDirectory' option.\r Or again, a different bitmap piece set
1738      can be selected with the\r `bitmapDirectory' option.\r \r Files in
1739      the `bitmapDirectory' must be named as follows:\r The first
1740      character of a piece bitmap name gives the piece it \r represents
1741      (`p', `n', `b', `r', `q', or `k'),\r the next characters give the
1742      size in pixels, the\r following character indicates whether the
1743      piece is\r solid or outline (`s' or `o'),\r and the extension is
1744      `.bm'.\r For example, a solid 80x80 knight would be named
1745      `n80s.bm'.\r The outline bitmaps are used only in monochrome
1746      mode.\r If bitmap pieces are compiled in and the bitmapDirectory
1747      is missing\r some files, the compiled in pieces are used instead.\r
1748      \r If the bitmapDirectory option is given,\r it is also possible
1749      to replace xboard's icons and menu checkmark,\r by supplying files
1750      named `icon_white.bm', `icon_black.bm', and\r `checkmark.bm'.\r \r
1751      For more information about pixmap pieces and how to get
1752      additional\r sets, see *note zic2xpm:: below.\r
1753
1754 -whitePieceColor color
1755 -blackPieceColor color
1756 -lightSquareColor color
1757 -darkSquareColor color
1758 -highlightSquareColor color
1759      Colors to use for the pieces, squares, and square highlights.\r
1760      Defaults:\r \r
1761           -whitePieceColor       #FFFFCC\r
1762           -blackPieceColor       #202020\r
1763           -lightSquareColor      #C8C365\r
1764           -darkSquareColor       #77A26D\r
1765           -highlightSquareColor  #FFFF00\r
1766           -premoveHighlightColor #FF0000\r
1767      \r On a grayscale monitor you might prefer:\r \r
1768           -whitePieceColor       gray100\r
1769           -blackPieceColor       gray0\r
1770           -lightSquareColor      gray80\r
1771           -darkSquareColor       gray60\r
1772           -highlightSquareColor  gray100\r
1773           -premoveHighlightColor gray70\r
1774
1775 -drag/-xdrag or -animateDragging true/false
1776      Sets the Animate Dragging menu option. *Note Options Menu::.
1777      Default: true.\r
1778
1779 -animate/-xanimate or -animateMoving true/false
1780      Sets the Animate Moving menu option. *Note Options Menu::.
1781      Default: true.\r
1782
1783 -animateSpeed n
1784      Number of milliseconds delay between each animation frame when
1785      Animate\r Moves is on.\r
1786 \r
1787
1788 3.6 Adjudication Options
1789 ========================
1790
1791 -adjudicateLossThreshold n
1792      If the given value is non-zero, XBoard adjudicates the game as a
1793      loss \r if both engines agree for a duration of 6 consecutive ply
1794      that the score \r is below the given score threshold for that
1795      engine. Make sure the score \r is interpreted properly by XBoard,
1796      \r using `-firstScoreAbs' and `-secondScoreAbs' if needed. \r
1797      Default: 0 (no adjudiction)\r
1798
1799 -adjudicateDrawMoves n
1800      If the given value is non-zero, XBoard adjudicates the game as a
1801      draw \r if after the given number of moves it was not yet decided.
1802      Defaut: 0 (no adjudication)\r
1803
1804 -checkMates true/false
1805      If this option is set, XBoard detects all checkmates and
1806      stalemates, \r and ends the game as soon as they occur. \r
1807      Legality-testing must be switched on for this option to work.\r
1808      Default: true\r
1809
1810 -testClaims true/false
1811      If this option is set, XBoard verifies all result claims made by
1812      engines, \r and those who send false claims will forfeit the game
1813      because of it. \r Legality-testing must be switched on for this
1814      option to work. Default: true\r
1815
1816 -materialDraws true/false
1817      If this option is set, XBoard adjudicates games as draws when
1818      there is \r no sufficient material left to inflict a checkmate. \r
1819      This applies to KBKB with like bishops (any number, actually), and
1820      to KBK, KNK and KK. \r Legality-testing must be switched on for
1821      this option to work. Default: true\r
1822
1823 -trivialDraws true/false
1824      If this option is set, XBoard adjudicates games as draws that
1825      cannot be \r usually won without opponent cooperation. This
1826      applies to KBKB with unlike bishops, \r and to KBKN, KNKN, KNNK,
1827      KRKR and KQKQ. The draw is called after 6 ply into these
1828      end-games, \r to allow quick mates that can occur in some
1829      exceptional positions to be found by the engines. \r KQKQ does not
1830      really belong in this category, and might be taken out in the
1831      future. \r (When bitbase-based adjudications are implemented.) \r
1832      Legality-testing must be on for this option to work. Default:
1833      false\r
1834
1835 -ruleMoves n
1836      If the given value is non-zero, XBoard adjudicates the game as a
1837      draw after the given \r number of consecutive reversible moves.
1838      Engine draw claims are always accepted after 50 moves, \r
1839      irrespective of the given value of n.\r
1840
1841 -repeatsToDraw n
1842      If the given value is non-zero, xboard adjudicates the game as a
1843      draw if a position \r is repeated the given number of times.
1844      Engines draw claims are always accepted after 3 repeats, \r (on
1845      the 3rd occurrence, actually), irrespective of the value of n. \r
1846      Beware that positions that have different castling or en-passant
1847      rights do not count \r as repeats, XBoard is fully e.p. and
1848      castling aware!\r
1849 \r
1850
1851 3.7 Other options
1852 =================
1853
1854 -ncp/-xncp or -noChessProgram true/false
1855      If this option is true, XBoard acts as a passive chessboard; it\r
1856      does not start a chess engine at all. Turning on this option\r
1857      also turns off clockMode. Default: false.\r
1858
1859 -mode or -initialMode modename
1860      If this option is given, XBoard selects the given modename\r from
1861      the Mode menu after starting and (if applicable) processing the\r
1862      loadGameFile or loadPositionFile option. Default: "" (no
1863      selection). \r Other supported values are \r MachineWhite,
1864      MachineBlack, TwoMachines, Analysis, \r AnalyzeFile, EditGame,
1865      EditPosition, and Training.\r
1866
1867 -variant varname
1868      Activates preliminary, partial support for playing chess variants\r
1869      against a local engine or editing variant games.  This flag is
1870      not\r needed in ICS mode.  Recognized variant names are:\r \r
1871           normal        Normal chess\r
1872           wildcastle    Shuffle chess, king can castle from d file\r
1873           nocastle      Shuffle chess, no castling allowed\r
1874           fischerandom  Fischer Random shuffle chess\r
1875           bughouse      Bughouse, ICC/FICS rules\r
1876           crazyhouse    Crazyhouse, ICC/FICS rules\r
1877           losers        Lose all pieces or get mated (ICC wild 17)\r
1878           suicide       Lose all pieces including king (FICS)\r
1879           giveaway      Try to have no legal moves (ICC wild 26)\r
1880           twokings      Weird ICC wild 9\r
1881           kriegspiel    Opponent's pieces are invisible\r
1882           atomic        Capturing piece explodes (ICC wild 27)\r
1883           3check        Win by giving check 3 times (ICC wild 25)\r
1884           shatranj      An ancient precursor of chess (ICC wild 28)\r
1885           xiangqi       Chinese Chess (on a 9x10 board)\r
1886           shogi         Japanese Chess (on a 9x9 board & piece drops) \r
1887           capablanca    Capablanca Chess (10x8 board, with Archbishop \r
1888                         and Chancellor pieces)\r
1889           gothic        similar, with a better initial position\r
1890           caparandom    An FRC-like version of Capablanca Chess (10x8) \r
1891           janus         A game with two Archbishops (10x8 board)\r
1892           courier       Medieval intermedite between shatranj and \r
1893                         modern Chess (on 12x8 board) \r
1894           falcon        Patented 10x8 variant with two Falcon pieces\r
1895           berolina      Pawns capture straight ahead, and move diagonal \r
1896           cylinder      Pieces wrap around the board edge\r
1897           knightmate    King moves as Knight, and vice versa \r
1898           super         Superchess (shuffle variant with 4 exo-pieces)\r
1899           fairy         A catchall variant in which all piece types \r
1900                         known to XBoard can participate (8x8)\r
1901           unknown       Catchall for other unknown variants\r
1902      \r In the shuffle variants, XBoard now does shuffle the pieces,
1903      although\r you can still do it by hand using Edit Position.  Some
1904      variants are\r supported only in ICS mode, including bughouse,
1905      and\r kriegspiel.  The winning/drawing conditions in crazyhouse
1906      (offboard\r interposition on mate), losers, suicide, giveaway,
1907      atomic, and 3check\r are not fully understood.  \r Berolina and
1908      cylinder chess can only be played with legality testing off.\r In
1909      crazyhouse, XBoard now does keep\r track of offboard pieces.  In
1910      shatranj it does implement the baring\r rule when mate detection
1911      is switched on.\r
1912
1913 -boardHeight N
1914      Allows you to set a non-standard number of board ranks in any
1915      variant. \r If the height is given as -1, the default height for
1916      the variant is used.\r Default: -1\r
1917
1918 -boardWidth N
1919      Allows you to set a non-standard number of board files in any
1920      variant. \r If the width is given as -1, the default width for the
1921      variant is used. \r With a non-standard width, the initial
1922      position will always be an empty board, \r as the usual opening
1923      array will not fit.\r Default: -1\r
1924
1925 -holdingsSize N
1926      Allows you to set a non-standard size for the holdings in any
1927      variant. \r If the size is given as -1, the default holdings size
1928      for the variant is used. \r The first N piece types will go into
1929      the holdings on capture, and you will be \r able to drop them on
1930      the board in stead of making a normal move. If size equals 0, \r
1931      there will be no holdings.\r Default: -1\r
1932
1933 -defaultFrcPosition N
1934      Specifies the number of the opening position in shuffle games like
1935      Chess960. \r A value of -1 means the position is randomly
1936      generated by XBoard\r at the beginning of every game.\r Default:
1937      -1\r
1938
1939 -pieceToSquareTable string
1940      The characters that are used to represent the piece types XBoard
1941      knows in FEN \r diagrams and SAN moves. The string argument has to
1942      have an even length \r (or it will be ignored), as white and black
1943      pieces have to be given separately \r (in that order). The last
1944      letter for each color will be the King. \r The letters before that
1945      will be PNBRQ and then a whole host of fairy pieces \r in an order
1946      that has not fully crystallized yet (currently FEACWMOHIJGDVSLU, \r
1947      F=Ferz, Elephant, A=Archbishop, C=Chancellor, W=Wazir, M=Commoner,
1948      O=Cannon, \r H=Nightrider). You should list at least all pieces
1949      that occur in the variant \r you are playing. If you have less
1950      than 44 characters in the string, the pieces \r not mentioned will
1951      get assigned a period, and you will not be able to distinguish \r
1952      them in FENs. You can also explicitly assign pieces a period, in
1953      which case they \r will not be counted in deciding which captured
1954      pieces can go into the holdings.\r A tilde '~' as a piece name
1955      does mean this piece is used to represent a promoted \r Pawn in
1956      crazyhouse-like games, i.e. on capture it turns back onto a Pawn.
1957      \r A '+' similarly indicates the piece is a shogi-style promoted
1958      piece, that should \r revert to its non-promoted version on
1959      capture (rather than to a Pawn).\r Note that promoted pieces are
1960      represented by pieces 11 further in the list.\r You should not
1961      have to use this option often: each variant has its own default \r
1962      setting for the piece representation in FEN, which should be
1963      sufficient in normal use.\r Default: ""\r
1964
1965 -debug/-xdebug or -debugMode true/false
1966      Turns on debugging printout.\r
1967
1968 -debugFile filename or -nameOfDebugFile filename
1969      Sets the name of the file to which WinBoard saves debug
1970      information \r (including all communication to and from the
1971      engines).\r
1972
1973 -engineDebugOutput number
1974      Specifies how WinBoard should handle unsolicited output from the
1975      engine, \r with respect to saving it in the debug file. \r The
1976      output is further (hopefully) ignored. \r If number=0, WinBoard
1977      refrains from writing such spurious output to the debug file. \r
1978      If number=1, all engine output is written faithfully to the debug
1979      file. \r If number=2, any protocol-violating line is prefixed with
1980      a Â‘#Â’ character, \r as the engine itself should have done if it
1981      wanted to submit info for inclusion in the debug file.\r This
1982      option is provided for the benefit of applications that use the
1983      debug file \r as a source of information, such as the broadcaster
1984      of live games TLCV / TLCS. \r Such applications can be protected
1985      from spurious engine output that might otherwise confuse them.\r
1986
1987 -rsh or -remoteShell shell-name
1988      Name of the command used to run programs remotely. The default\r
1989      is `rsh' or `remsh', determined when XBoard is\r configured and
1990      compiled.\r
1991
1992 -ruser or -remoteUser user-name
1993      User name on the remote system when running programs with the\r
1994      `remoteShell'. The default is your local user name.\r
1995
1996 -userName username
1997      Name under which the Human player will be listed in the PGN file.
1998      \r Default is the login name on your local computer.\r
1999
2000 -delayBeforeQuit number
2001 -delayAfterQuit number
2002      These options specify how long WinBoard has to wait before sending
2003      a termination signal to rogue engine processes, that do not want
2004      to react to the Â‘quitÂ’ command. The second one determines the
2005      pause after killing the engine, to make sure it dies.\r \r
2006 \r
2007
2008 4 Chess Servers
2009 ***************
2010
2011 An "Internet Chess Server", or "ICS", is a place on the\r Internet
2012 where people can get together to play chess, watch other\r people's
2013 games, or just chat.  You can use either `telnet' or a\r client program
2014 like XBoard to connect to the server.  There are\r thousands of
2015 registered users on the different ICS hosts, and it is\r not unusual to
2016 meet 200 on both chessclub.com and freechess.org.\r \r Most people can
2017 just type `xboard -ics' to start XBoard as an ICS\r client.  Invoking
2018 XBoard in this way connects you to the Internet\r Chess Club (ICC), a
2019 commercial ICS.  You can log in there as a guest\r even if you do not
2020 have a paid account.  To connect to the largest\r Free ICS (FICS), use
2021 the command `xboard -ics -icshost freechess.org'\r instead, or
2022 substitute a different host name to connect to your\r favorite ICS.\r
2023 For a full description of command-line options that control \r the
2024 connection to ICS and change the default values of ICS options, see\r
2025 *note ICS options::.  \r \r While you are running XBoard as an ICS
2026 client,\r you use the terminal window that you started XBoard from\r as
2027 a place to type in commands and read information that is\r not
2028 available on the chessboard.\r \r The first time you need to use the
2029 terminal is to enter your login name\r and password, if you are a
2030 registered player. (You don't need to do\r this manually; the
2031 `icsLogon' option can do it for you.\r *note ICS options::.)  If you
2032 are not registered, \r enter `g' as your name, and the server will pick
2033 a\r unique guest name for you.\r \r Some useful ICS commands\r include\r
2034 `help <topic>'
2035      to get help on the given <topic>. To get a list of possible topics
2036      type\r "help" without topic.  Try the help command before you ask
2037      other\r people on the server for help.\r \r For example `help
2038      register' tells you how to become a registered\r ICS player.\r
2039
2040 `who <flags>'
2041      to see a list of people who are logged on.  Administrators\r
2042      (people you should talk to if you have a problem) are marked\r
2043      with the character `*', an asterisk. The <flags> allow you to\r
2044      display only selected players: For example, `who of' shows a\r
2045      list of players who are interested in playing but do not have\r an
2046      opponent.\r
2047
2048 `games'
2049      to see what games are being played\r
2050
2051 `match <player> [<mins>] [<inc>]'
2052      to challenge another player to a game. Both opponents get <mins>
2053      minutes\r for the game, and <inc> seconds will be added after each
2054      move.\r If another player challenges you, the server asks if you
2055      want to\r accept the challenge; use the `accept' or `decline'
2056      commands\r to answer.\r
2057
2058 `accept'
2059 `decline'
2060      to accept or decline another player's offer. \r The offer may be
2061      to start a new game, or to agree to a \r `draw', `adjourn' or
2062      `abort' the current game. *Note Action Menu::.\r \r If you have
2063      more than one pending offer (for example, if more than one player\r
2064      is challenging you, or if your opponent offers both a draw and to
2065      adjourn the\r game), you have to supply additional information, by
2066      typing something\r like `accept <player>', `accept draw', or
2067      `draw'.\r
2068
2069 `draw'
2070 `adjourn'
2071 `abort'
2072      asks your opponent to terminate a game by mutual agreement.
2073      Adjourned\r games can be continued later. \r Your opponent can
2074      either `decline' your offer or accept it (by typing the\r same
2075      command or typing `accept').  In some cases these commands work\r
2076      immediately, without asking your opponent to agree.  For example,
2077      you can\r abort the game unilaterally if your opponent is out of
2078      time, and you can claim\r a draw by repetition or the 50-move rule
2079      if available simply by typing \r `draw'.\r
2080
2081 `finger <player>'
2082      to get information about the given <player>. (Default: yourself.)\r
2083
2084 `vars'
2085      to get a list of personal settings\r
2086
2087 `set <var> <value>'
2088      to modify these settings\r
2089
2090 `observe <player>'
2091      to observe an ongoing game of the given <player>.\r
2092
2093 `examine'
2094 `oldmoves'
2095      to review a recently completed game\r
2096    \r Some special XBoard features are activated when you are\r in
2097 examine mode on ICS.  See the descriptions of the menu commands\r
2098 `Forward', `Backward', `Pause', `ICS Client', \r and `Stop Examining'
2099 on the *note Step Menu::, *note Mode Menu::, and\r *note Options
2100 Menu::.\r \r
2101
2102 5 Firewalls
2103 ***********
2104
2105 By default, XBoard communicates with an Internet Chess Server\r by
2106 opening a TCP socket directly from the machine it is running on\r to
2107 the ICS. If there is a firewall between your machine and the ICS,\r
2108 this won't work. Here are some recipes for getting around common\r
2109 kinds of firewalls using special options to XBoard.\r Important: See
2110 the paragraph in the below about extra echoes, in\r *note
2111 Limitations::.\r \r Suppose that you can't telnet directly to ICS, but
2112 you can telnet\r to a firewall host, log in, and then telnet from there
2113 to ICS.\r Let's say the firewall is called `firewall.example.com'. Set\r
2114 command-line options as follows:\r \r
2115      xboard -ics -icshost firewall.example.com -icsport 23\r
2116    Or in your `.Xresources' file:\r \r
2117      XBoard*internetChessServerHost: firewall.example.com\r
2118      XBoard*internetChessServerPort: 23\r
2119    Then when you run XBoard in ICS mode, you will be prompted\r to log
2120 in to the firewall host. This works because port 23 is the\r standard
2121 telnet login service. Do so, then telnet to ICS, using a\r command like
2122 `telnet chessclub.com 5000', or whatever command\r the firewall
2123 provides for telnetting to port 5000.\r \r If your firewall lets you
2124 telnet (or rlogin) to remote hosts but\r doesn't let you telnet to port
2125 5000, you may be able to connect to the\r chess server on port 23
2126 instead, which is the port the telnet program\r uses by default.  Some
2127 chess servers support this (including\r chessclub.com and
2128 freechess.org), while some do not.\r \r If your chess server does not
2129 allow connections on port 23 and your\r firewall does not allow you to
2130 connect to other ports, you may be able\r to connect by hopping through
2131 another host outside the firewall that\r you have an account on.  For
2132 instance, suppose you have a shell\r account at `foo.edu'. Follow the
2133 recipe above, but instead of\r typing `telnet chessclub.com 5000' to
2134 the firewall, type\r `telnet foo.edu' (or `rlogin foo.edu'), log in
2135 there, and\r then type `telnet chessclub.com 5000'.\r \r Suppose that
2136 you can't telnet directly to ICS, but you can use rsh\r to run programs
2137 on a firewall host, and that host can telnet to ICS.\r Let's say the
2138 firewall is called `rsh.example.com'. Set\r command-line options as
2139 follows:\r \r
2140      xboard -ics -gateway rsh.example.com -icshost chessclub.com\r
2141    \r Or in your `.Xresources' file:\r \r
2142      XBoard*gateway: rsh.example.com\r
2143      XBoard*internetChessServerHost: chessclub.com\r
2144    \r Then when you run XBoard in ICS mode, it will connect to\r the
2145 ICS by using `rsh' to run the command\r `telnet chessclub.com 5000' on
2146 host `rsh.example.com'.\r \r Suppose that you can telnet anywhere you
2147 want, but you have to\r run a special program called `ptelnet' to do
2148 so.\r \r First, we'll consider the easy case, in which\r `ptelnet
2149 chessclub.com 5000' gets you to the chess server.\r In this case set
2150 command line options as follows:\r \r
2151      xboard -ics -telnet -telnetProgram ptelnet\r
2152    \r Or in your `.Xresources' file:\r \r
2153      XBoard*useTelnet: true\r
2154      XBoard*telnetProgram: ptelnet\r
2155    \r Then when you run XBoard in ICS mode, it will issue the\r command
2156 `ptelnet chessclub.com 5000' to connect to the ICS.\r \r Next, suppose
2157 that `ptelnet chessclub.com 5000' doesn't work;\r that is, your
2158 `ptelnet' program doesn't let you connect to\r alternative ports. As
2159 noted above, your chess server may allow you to\r connect on port 23
2160 instead.  In that case, just add the option\r `-icsport ""' to the
2161 above command, or add\r `XBoard*internetChessServerPort:' to your
2162 `.Xresources' file.\r But if your chess server doesn't let you connect
2163 on port 23, you will have\r to find some other host outside the
2164 firewall and hop through it. For\r instance, suppose you have a shell
2165 account at `foo.edu'. Set\r command line options as follows:\r \r
2166      xboard -ics -telnet -telnetProgram ptelnet -icshost foo.edu -icsport ""\r
2167    \r Or in your `.Xresources' file:\r \r
2168      XBoard*useTelnet: true\r
2169      XBoard*telnetProgram: ptelnet\r
2170      XBoard*internetChessServerHost: foo.edu\r
2171      XBoard*internetChessServerPort:\r
2172    \r Then when you run XBoard in ICS mode, it will issue the\r command
2173 `ptelnet foo.edu' to connect to your account at\r `foo.edu'. Log in
2174 there, then type `telnet chessclub.com 5000'.\r \r ICC timestamp and
2175 FICS timeseal do not work through some\r firewalls.  You can use them
2176 only if your firewall gives a clean TCP\r connection with a full 8-bit
2177 wide path.  If your firewall allows you\r to get out only by running a
2178 special telnet program, you can't use\r timestamp or timeseal across
2179 it.  But if you have access to a\r computer just outside your firewall,
2180 and you have much lower netlag\r when talking to that computer than to
2181 the ICS, it might be worthwhile\r running timestamp there.  Follow the
2182 instructions above for hopping\r through a host outside the firewall
2183 (foo.edu in the example),\r but run timestamp or timeseal on that host
2184 instead of telnet.\r \r Suppose that you have a SOCKS firewall that
2185 will give you a clean\r 8-bit wide TCP connection to the chess server,
2186 but only after you\r authenticate yourself via the SOCKS protocol.  In
2187 that case, you could\r make a socksified version of XBoard and run
2188 that.  If you are using\r timestamp or timeseal, you will to socksify
2189 it, not XBoard; this may\r be difficult seeing that ICC and FICS do not
2190 provide source code for\r these programs.  Socksification is beyond the
2191 scope of this document,\r but see the SOCKS Web site at
2192 http://www.socks.permeo.com/.\r If you are missing SOCKS, try
2193 http://www.funbureau.com/.\r \r
2194
2195 6 Environment variables
2196 ***********************
2197
2198 Game and position files are found in a directory named by the\r
2199 `CHESSDIR' environment variable. If this variable is not set, the\r
2200 current working directory is used. If `CHESSDIR' is set,\r XBoard
2201 actually changes its working directory to\r `$CHESSDIR', so any files
2202 written by the chess engine\r will be placed there too.\r \r
2203
2204 7 Limitations and known bugs
2205 ****************************
2206
2207 There is no way for two people running copies of XBoard to play\r each
2208 other without going through an Internet Chess Server.\r \r Under some
2209 circumstances, your ICS password may be echoed when you log on.\r \r If
2210 you are connecting to the ICS by running telnet on an Internet\r
2211 provider or firewall host, you may find that each line you type is\r
2212 echoed back an extra time after you hit <Enter>. If your Internet\r
2213 provider is a Unix system, you can probably turn its echo off by\r
2214 typing `stty -echo' after you log in, and/or typing\r <^E><Enter>
2215 (Ctrl+E followed by the Enter key) to the telnet\r program after you
2216 have logged into ICS.  It is a good idea to do this\r if you can,
2217 because the extra echo can occasionally confuse XBoard's\r parsing
2218 routines.\r \r The game parser recognizes only algebraic notation.\r \r
2219 Many of the following points used to be limitations in XBoard 4.2.7 and
2220 earlier, \r but are now fixed:\r The internal move legality tester in
2221 XBoard 4.3.xx does look at the game history, \r and is fully aware of
2222 castling or en-passant-capture rights. It permits castling with \r the
2223 king on the d file because this is possible in some "wild 1" games on
2224 ICS. \r The piece-drop menu does not check piece drops in bughouse to
2225 see if you actually hold \r the piece you are trying to drop. But this
2226 way of dropping pieces should be considered \r an obsolete feature, now
2227 that pieces can be dropped by dragging them from the holdings \r to the
2228 board. Anyway, if you would attempt an illegal move when using a chess
2229 engine or the ICS, \r WinBoard will accept the error message that comes
2230 back, undo the move, and let you try another.\r FEN positions saved by
2231 XBoard do include correct information about whether castling or \r en
2232 passant are legal, and also handle the 50-move counter.\r The mate
2233 detector does not understand that non-contact mate is not really mate
2234 in bughouse. \r The only problem this causes while playing is minor: a
2235 "#" (mate indicator) character will \r show up after a non-contact
2236 mating move in the move list. XBoard will not assume the game \r is
2237 over at that point, not even when the option Detect Mates is on.\r Edit
2238 Game mode always uses the rules of the selected variant, \r which can
2239 be a variant that uses piece drops.  \r You can load and edit games
2240 that contain piece drops. \r The (obsolete) piece menus are not active,
2241 \r but you can perform piece drops by dragging pieces from the
2242 holdings.\r Edit Position mode does not allow you to edit the
2243 crazyhouse holdings properly. \r You cannot drag pieces to the holding,
2244 and using the popup menu to put pieces \r there does not adapt the
2245 holding counts and leads to an inconsistent state. \r Set up crazyhouse
2246 positions by loading / pasting a bFEN, from there you can set the
2247 holdings.\r Fischer Random castling is fully understood. \r You can
2248 enter castlings by dragging the King on top of your Rook. \r You can
2249 probably also play Fischer Random successfully on ICS by typing \r
2250 castling moves into the ICS Interaction window.\r \r The menus may not
2251 work if your keyboard is in Caps Lock or Num Lock mode.\r This seems to
2252 be a problem with the Athena menu widget,\r not an XBoard bug.\r \r
2253 Also see the ToDo file included with the distribution for many other\r
2254 possible bugs, limitations, and ideas for improvement that have been\r
2255 suggested.\r
2256
2257 8 Reporting problems
2258 ********************
2259
2260 \r Report bugs and problems with XBoard to `<bug-xboard@gnu.org>'.\r \r
2261 Please use the `script' program to start a typescript, run \r XBoard
2262 with the `-debug' option, and include the typescript\r output in your
2263 message.\r Also tell us what kind of machine and what operating system
2264 version\r you are using.  The command `uname -a' will often tell you
2265 this.\r Here is a sample of approximately what you should type:\r \r
2266      script\r
2267      uname -a\r
2268      ./configure\r
2269      make\r
2270      ./xboard -debug\r
2271      exit\r
2272      mail bug-xboard@gnu.org\r
2273      Subject: Your short description of the problem\r
2274      Your detailed description of the problem\r
2275      ~r typescript\r
2276      .\r
2277    \r The WinBoard / XBoard 4.3 line is being developed by H.G. Muller
2278 \r independently of the GNU Savannah xboard project. \r Bug reports on
2279 this version, and suggestions for improvements and additions, \r are
2280 best posted in the WinBoard forum, \r WinBoard-development section
2281 (http://www.open-aurec.com/wbforum). \r \r If you improve XBoard,
2282 please send a message about your changes,\r and we will get in touch
2283 with you about merging them in\r to the main line of development.\r
2284 Also see our Web site at http://savannah.gnu.org/projects/xboard/.\r \r
2285
2286 9 Authors and contributors
2287 **************************
2288
2289 \r Tim Mann has been responsible for XBoard versions 1.3 and beyond,
2290 and\r for WinBoard, a port of XBoard to Microsoft Win32 (Windows NT
2291 and\r Windows 95). H.G.Muller is responsible for version 4.3.\r \r Mark
2292 Williams contributed the initial (WinBoard-only) implementation\r of
2293 many new features added to both XBoard and WinBoard in version\r 4.1.0,
2294 including copy/paste, premove, icsAlarm, autoFlipView, training\r mode,
2295 auto raise, and blindfold.  Ben Nye contributed X copy/paste\r code for
2296 XBoard.\r \r Hugh Fisher added animated piece movement to XBoard, and
2297 Henrik Gram\r (henrikg@funcom.com) added it to WinBoard.  Frank
2298 McIngvale added\r click/click moving, the Analysis modes, piece
2299 flashing, ZIICS import,\r and ICS text colorization to XBoard.  Jochen
2300 Wiedmann ported XBoard to\r the Amiga, creating AmyBoard, and converted
2301 the documentation to\r texinfo.  Elmar Bartel contributed the new piece
2302 bitmaps introduced in\r version 3.2.  John Chanak contributed the
2303 initial implementation of\r ICS mode.  The color scheme and the old
2304 80x80 piece bitmaps were taken\r from Wayne Christopher's `XChess'
2305 program.\r \r Chris Sears and Dan Sears wrote the original XBoard.
2306 They were\r responsible for versions 1.0 through 1.2.\r \r Evan Welsh
2307 wrote `CMail'.  Patrick Surry helped in designing,\r testing, and
2308 documenting CMail.\r \r Allessandro Scotti added many elements to the
2309 user interface of WinBoard, \r including the board textures and
2310 font-based rendering, the evaluation-graph, \r move-history and
2311 engine-output window. \r He was also responsible for adding the UCI
2312 support. \r \r H.G. Muller made WinBoard castling- and e.p.-aware, \r
2313 added variant support with adjustable board sizes, \r the crazyhouse
2314 holdings, and the fairy pieces. \r In addition he added most of the
2315 adjudication options, \r made WinBoard more robust in dealing with
2316 buggy and crashing engines, \r and extended time control with a
2317 time-odds and node-count-based modes.\r Most of the options that
2318 initially wre WinBoard only have now been back-ported to XBoard.\r \r
2319 Michel van den Bergh provided the code for reading Polyglot opening
2320 books.\r \r Arun Persaud worked with H.G. Muller to combine all the
2321 features of the never-released WinBoard 4.2.8 \r of the Savannah
2322 project (mainly by Daniel Mehrmann), \r and the never-released 4.3.16
2323 into a unified WinBoard 4.4, \r which is now available both from the
2324 Savannah web site and the WinBoard forum.\r
2325
2326 10 CMail
2327 ********
2328
2329 The `cmail' program can help you play chess by email with opponents of\r
2330 your choice using XBoard as an interface.\r \r You will usually run
2331 `cmail' without giving any options.\r \r \r
2332
2333 10.1 CMail options
2334 ==================
2335
2336 -h
2337      Displays `cmail' usage information.\r
2338
2339 -c
2340      Shows the conditions of the GNU General Public License.\r *Note
2341      Copying::.\r
2342
2343 -w
2344      Shows the warranty notice of the GNU General Public License.\r
2345      *Note Copying::.\r
2346
2347 -v
2348 -xv
2349      Provides or inhibits verbose output from `cmail' and XBoard,\r
2350      useful for debugging. The\r `-xv'\r form also inhibits the cmail
2351      introduction message.\r
2352
2353 -mail
2354 -xmail
2355      Invokes or inhibits the sending of a mail message containing the
2356      move.\r
2357
2358 -xboard
2359 -xxboard
2360      Invokes or inhibits the running of XBoard on the game file.\r
2361
2362 -reuse
2363 -xreuse
2364      Invokes or inhibits the reuse of an existing XBoard to display
2365      the\r current game.\r
2366
2367 -remail
2368      Resends the last mail message for that game. This inhibits
2369      running\r XBoard.\r
2370
2371 -game <name>
2372      The name of the game to be processed.\r
2373
2374 -wgames <number>
2375 -bgames <number>
2376 -games <number>
2377      Number of games to start as White, as Black or in total. Default
2378      is 1 as\r white and none as black. If only one color is specified
2379      then none of the\r other color is assumed. If no color is
2380      specified then equal numbers of\r White and Black games are
2381      started, with the extra game being as White if an\r odd number of
2382      total games is specified.\r
2383
2384 -me <short name>
2385 -opp <short name>
2386      A one-word alias for yourself or your opponent.\r
2387
2388 -wname <full name>
2389 -bname <full name>
2390 -name <full name>
2391 -oppname <full name>
2392      The full name of White, Black, yourself or your opponent.\r
2393
2394 -wna <net address>
2395 -bna <net address>
2396 -na <net address>
2397 -oppna <net address>
2398      The email address of White, Black, yourself or your opponent.\r
2399
2400 -dir <directory>
2401      The directory in which `cmail' keeps its files. This defaults to
2402      the\r environment variable `$CMAIL_DIR' or failing that,
2403      `$CHESSDIR',\r `$HOME/Chess' or `~/Chess'. It will be created if
2404      it does not exist.\r
2405
2406 -arcdir <directory>
2407      The directory in which `cmail' archives completed games. Defaults
2408      to\r the environment variable `$CMAIL_ARCDIR' or, in its absence,
2409      the same\r directory as cmail keeps its working files (above).\r
2410
2411 -mailprog <mail program>
2412      The program used by cmail to send email messages. This defaults to
2413      the\r environment variable `$CMAIL_MAILPROG' or failing that\r
2414      `/usr/ucb/Mail', `/usr/ucb/mail' or `Mail'. You will need\r to set
2415      this variable if none of the above paths fit your system.\r
2416
2417 -gamesFile <file>
2418      A file containing a list of games with email addresses. This
2419      defaults to\r the environment variable `$CMAIL_GAMES' or failing
2420      that\r `.cmailgames'.\r
2421
2422 -aliasesFile <file>
2423      A file containing one or more aliases for a set of email
2424      addresses. This\r defaults to the environment variable
2425      `$CMAIL_ALIASES' or failing\r that `.cmailaliases'.\r
2426
2427 -logFile <file>
2428      A file in which to dump verbose debugging messages that are
2429      invoked with\r the `-v'\r option.\r
2430
2431 -event <event>
2432      The PGN Event tag (default `Email correspondence game').\r
2433
2434 -site <site>
2435      The PGN Site tag (default `NET').\r
2436
2437 -round <round>
2438      The PGN Round tag (default `-', not applicable).\r
2439
2440 -mode <mode>
2441      The PGN Mode tag (default `EM', Electronic Mail).\r
2442
2443 Other options
2444      Any option flags not listed above are passed through to XBoard.\r
2445      Invoking XBoard through CMail changes the default values of two
2446      XBoard\r options: The default value for `-noChessProgram' is
2447      changed to\r true; that is, by default no chess engine is started.
2448      The default\r value for `-timeDelay' is changed to 0; that is, by
2449      default\r XBoard immediately goes to the end of the game as played
2450      so far,\r rather than stepping through the moves one by one.  You
2451      can still set\r these options to whatever values you prefer by
2452      supplying them on\r CMail's command line.  *Note Options::.\r
2453 \r
2454
2455 10.2 Starting a CMail Game
2456 ==========================
2457
2458 Type `cmail' from a shell to start a game as white. After an opening\r
2459 message, you will be prompted for a game name, which is optional--if
2460 you\r simply press <Enter>, the game name will take the form\r
2461 `you-VS-opponent'. You will next be prompted for the short name\r of
2462 your opponent. If you haven't played this person before, you will also\r
2463 be prompted for his/her email address. `cmail' will then invoke\r
2464 XBoard in the background. Make your first move and select\r `Mail Move'
2465 from the `File' menu. *Note File Menu::. If all is well,\r `cmail' will
2466 mail a copy of the move to your opponent. If you select\r `Exit'
2467 without having selected `Mail Move' then no move will be\r made.\r \r
2468
2469 10.3 Answering a Move
2470 =====================
2471
2472 When you receive a message from an opponent containing a move in one
2473 of\r your games, simply pipe the message through `cmail'. In some
2474 mailers\r this is as simple as typing `| cmail' when viewing the
2475 message, while in\r others you may have to save the message to a file
2476 and do `cmail < file'\r at the command line. In either case `cmail'
2477 will display the game using\r XBoard. If you didn't exit XBoard when
2478 you made your first move\r then `cmail' will do its best to use the
2479 existing XBoard instead\r of starting a new one. As before, simply make
2480 a move and select\r `Mail Move' from the `File' menu. *Note File
2481 Menu::. `cmail'\r will try to use the\r XBoard that was most recently
2482 used to display the current game. This\r means that many games can be
2483 in progress simultaneously, each with its own\r active XBoard.\r \r If
2484 you want to look at the history or explore a variation, go ahead, but\r
2485 you must return to the current position before XBoard will allow you\r
2486 to mail a move. If you edit the game's history you must select\r
2487 `Reload Same Game' from the `File' menu to get back to the original\r
2488 position, then make the move you want and select `Mail Move'.\r As
2489 before, if you decide you aren't ready to make a move just yet you can\r
2490 either select `Exit' without sending a move or just leave\r XBoard
2491 running until you are ready.\r \r
2492
2493 10.4 Multi-Game Messages
2494 ========================
2495
2496 \r It is possible to have a `cmail' message carry more than one game.\r
2497 This feature was implemented to handle IECG (International Email Chess\r
2498 Group) matches, where a match consists of one game as white and one as
2499 black,\r with moves transmitted simultaneously. In case there are more
2500 general uses,\r `cmail' itself places no limit on the number of
2501 black/white games\r contained in a message; however, XBoard does.\r \r
2502
2503 10.5 Completing a Game
2504 ======================
2505
2506 Because XBoard can detect checkmate and stalemate, `cmail'\r handles
2507 game termination sensibly. As well as resignation, the\r `Action' menu
2508 allows draws to be offered and accepted for\r `cmail' games.\r \r For
2509 multi-game messages, only unfinished and just-finished games will be\r
2510 included in email messages. When all the games are finished, they are\r
2511 archived in the user's archive directory, and similarly in the
2512 opponent's\r when he or she pipes the final message through `cmail'.
2513 The archive\r file name includes the date the game was started.\r \r
2514
2515 10.6 Known CMail Problems
2516 =========================
2517
2518 It's possible that a strange conjunction of conditions may
2519 occasionally\r mean that `cmail' has trouble reactivating an existing\r
2520 XBoard. If this should happen, simply trying it again should work.\r If
2521 not, remove the file that stores the XBoard's PID\r (`game.pid') or use
2522 the `-xreuse' option to force\r `cmail' to start a new XBoard.\r \r
2523 Versions of `cmail' after 2.16 no longer understand the old file
2524 format\r that XBoard used to use and so cannot be used to correspond
2525 with\r anyone using an older version.\r \r Versions of `cmail' older
2526 than 2.11 do not handle multi-game messages,\r so multi-game
2527 correspondence is not possible with opponents using an older\r
2528 version.\r \r
2529
2530 11 Other programs you can use with XBoard
2531 *****************************************
2532
2533 \r Here are some other programs you can use with XBoard\r \r \r
2534
2535 11.1 GNU Chess
2536 ==============
2537
2538 \r The GNU Chess engine is available from:\r \r
2539 ftp://ftp.gnu.org/gnu/gnuchess/\r \r You can use XBoard to play a game
2540 against GNU Chess, or to\r interface GNU Chess to an ICS.\r \r
2541
2542 11.2 Fairy-Max
2543 ==============
2544
2545 \r Fairy-Max is a derivative from the World's smallest Chess program
2546 micro-Max,\r which measures only about 100 lines of source code.\r The
2547 main difference with micro-Max is that Fairy-Max loads its
2548 move-generator\r tables from a file, so that the rules for piece
2549 movement can be easily configured\r to implement unorthodox pieces.\r
2550 Fairy-Max can therefore play a lage number of variants, normal Chess
2551 being one of those.\r In addition it plas Knightmate, Capablanca and
2552 Gothic Chess, Shatranj, Courier Chess,\r Cylinder chess, Berolina
2553 Chess, while the user can easily define new variants.\r It can be
2554 obtained from:\r \r http://home.hccnet.nl/h.g.muller/dwnldpage.html\r \r
2555
2556 11.3 HoiChess
2557 =============
2558
2559 \r HoiChess is a not-so-very-strong Chess engine, which comes with a
2560 derivative HoiXiangqi,\r able to play Chinese Chess. It can be obtained
2561 from the standard Linux repositories\r through:\r \r sudo apt-get
2562 install hoichess\r \r
2563
2564 11.4 Crafty
2565 ===========
2566
2567 \r Crafty is a chess engine written by Bob Hyatt.\r You can use XBoard
2568 to play a game against Crafty, hook Crafty up\r to an ICS, or use
2569 Crafty to interactively analyze games and positions\r for you.\r \r
2570 Crafty is a strong, rapidly evolving chess program. This rapid\r pace
2571 of development is good, because it means Crafty is always\r getting
2572 better.  This can sometimes cause problems with\r backwards
2573 compatibility, but usually the latest version of Crafty\r will work
2574 well with the latest version of XBoard.\r Crafty can be obtained from
2575 its author's FTP site:\r ftp://ftp.cis.uab.edu/hyatt/.\r \r To use
2576 Crafty with XBoard, give the -fcp and -fd options as follows, where\r
2577 <crafty's directory> is the directory in which you installed Crafty\r
2578 and placed its book and other support files.\r \r
2579
2580 11.5 zic2xpm
2581 ============
2582
2583 \r The "zic2xpm" program is used to import chess sets from the
2584 ZIICS(*)\r program into XBoard. "zic2xpm" is part of the XBoard
2585 distribution.\r ZIICS is available from:\r \r
2586 ftp://ftp.freechess.org/pub/chess/DOS/ziics131.exe\r \r To import ZIICS
2587 pieces, do this:\r
2588 1. Unzip ziics131.exe into a directory:
2589      \r
2590           unzip -L ziics131.exe -d ~/ziics\r
2591
2592 2. Use zic2xpm to convert a set of pieces to XBoard format.
2593      \r For example, let's say you want to use the\r FRITZ4 set. These
2594      files are named "fritz4.*" in the ZIICS distribution.\r \r
2595           mkdir ~/fritz4\r
2596           cd ~/fritz4\r
2597           zic2xpm ~/ziics/fritz4.*\r
2598
2599 3. Give XBoard the "-pixmap" option when starting up, e.g.:
2600      \r
2601           xboard -pixmap ~/fritz4\r
2602      \r Alternatively, you can add this line to your `.Xresources'
2603      file:\r \r
2604           xboard*pixmapDirectory: ~/fritz4\r
2605 \r (*) ZIICS is a separate copyrighted work of Andy McFarland.\r The
2606 "ZIICS pieces" are copyrighted works of their respective\r creators.
2607 Files produced by "zic2xpm" are for PERSONAL USE ONLY\r and may NOT be
2608 redistributed without explicit permission from\r the original
2609 creator(s) of the pieces.\r \r
2610
2611 Copyright
2612 *********
2613
2614 Copyright (C) 1991 Digital Equipment Corporation, Maynard,
2615 Massachusetts.
2616
2617    All Rights Reserved.
2618
2619    Permission to use, copy, modify, and distribute this software and its
2620 documentation for any purpose and without fee is hereby granted,
2621 provided that the above copyright notice appear in all copies and that
2622 both that copyright notice and this permission notice appear in
2623 supporting documentation, and that the name of Digital not be used in
2624 advertising or publicity pertaining to distribution of the software
2625 without specific, written prior permission.
2626
2627    Digital disclaims all warranties with regard to this software,
2628 including all implied warranties of merchantability and fitness.  In no
2629 event shall Digital be liable for any special, indirect or
2630 consequential damages or any damages whatsoever resulting from loss of
2631 use, data or profits, whether in an action of contract, negligence or
2632 other tortious action, arising out of or in connection with the use or
2633 performance of this software.
2634
2635    Enhancements copyright (C) 1992-2003,2004,2005,2006,2007,2008,2009
2636 Free Software Foundation, Inc.
2637
2638 Published by the Free Software Foundation
2639 59 Temple Place - Suite 330
2640 Boston, MA 02111-1307 USA
2641
2642    Permission is granted to make and distribute verbatim copies of this
2643 manual provided the copyright notice and this permission notice are
2644 preserved on all copies.
2645
2646    Permission is granted to copy and distribute modified versions of
2647 this manual under the conditions for verbatim copying, provided also
2648 that the section entitled "GNU General Public License," is included
2649 exactly as in the original, and provided that the entire resulting
2650 derived work is distributed under the terms of a permission notice
2651 identical to this one.
2652
2653    Permission is granted to copy and distribute translations of this
2654 manual into another language, under the above conditions for modified
2655 versions, except that the section entitled "GNU General Public License,"
2656 and this permission notice, may be included in translations approved by
2657 the Free Software Foundation instead of in the original English.  \r
2658
2659 GNU GENERAL PUBLIC LICENSE
2660 **************************
2661
2662                         Version 3, 29 June 2007
2663
2664      Copyright (C) 2007 Free Software Foundation, Inc. `http://fsf.org/'
2665
2666      Everyone is permitted to copy and distribute verbatim copies of this
2667      license document, but changing it is not allowed.
2668
2669 Preamble
2670 ========
2671
2672 The GNU General Public License is a free, copyleft license for software
2673 and other kinds of works.
2674
2675    The licenses for most software and other practical works are designed
2676 to take away your freedom to share and change the works.  By contrast,
2677 the GNU General Public License is intended to guarantee your freedom to
2678 share and change all versions of a program--to make sure it remains
2679 free software for all its users.  We, the Free Software Foundation, use
2680 the GNU General Public License for most of our software; it applies
2681 also to any other work released this way by its authors.  You can apply
2682 it to your programs, too.
2683
2684    When we speak of free software, we are referring to freedom, not
2685 price.  Our General Public Licenses are designed to make sure that you
2686 have the freedom to distribute copies of free software (and charge for
2687 them if you wish), that you receive source code or can get it if you
2688 want it, that you can change the software or use pieces of it in new
2689 free programs, and that you know you can do these things.
2690
2691    To protect your rights, we need to prevent others from denying you
2692 these rights or asking you to surrender the rights.  Therefore, you
2693 have certain responsibilities if you distribute copies of the software,
2694 or if you modify it: responsibilities to respect the freedom of others.
2695
2696    For example, if you distribute copies of such a program, whether
2697 gratis or for a fee, you must pass on to the recipients the same
2698 freedoms that you received.  You must make sure that they, too, receive
2699 or can get the source code.  And you must show them these terms so they
2700 know their rights.
2701
2702    Developers that use the GNU GPL protect your rights with two steps:
2703 (1) assert copyright on the software, and (2) offer you this License
2704 giving you legal permission to copy, distribute and/or modify it.
2705
2706    For the developers' and authors' protection, the GPL clearly explains
2707 that there is no warranty for this free software.  For both users' and
2708 authors' sake, the GPL requires that modified versions be marked as
2709 changed, so that their problems will not be attributed erroneously to
2710 authors of previous versions.
2711
2712    Some devices are designed to deny users access to install or run
2713 modified versions of the software inside them, although the
2714 manufacturer can do so.  This is fundamentally incompatible with the
2715 aim of protecting users' freedom to change the software.  The
2716 systematic pattern of such abuse occurs in the area of products for
2717 individuals to use, which is precisely where it is most unacceptable.
2718 Therefore, we have designed this version of the GPL to prohibit the
2719 practice for those products.  If such problems arise substantially in
2720 other domains, we stand ready to extend this provision to those domains
2721 in future versions of the GPL, as needed to protect the freedom of
2722 users.
2723
2724    Finally, every program is threatened constantly by software patents.
2725 States should not allow patents to restrict development and use of
2726 software on general-purpose computers, but in those that do, we wish to
2727 avoid the special danger that patents applied to a free program could
2728 make it effectively proprietary.  To prevent this, the GPL assures that
2729 patents cannot be used to render the program non-free.
2730
2731    The precise terms and conditions for copying, distribution and
2732 modification follow.
2733
2734 TERMS AND CONDITIONS
2735 ====================
2736
2737   0. Definitions.
2738
2739      "This License" refers to version 3 of the GNU General Public
2740      License.
2741
2742      "Copyright" also means copyright-like laws that apply to other
2743      kinds of works, such as semiconductor masks.
2744
2745      "The Program" refers to any copyrightable work licensed under this
2746      License.  Each licensee is addressed as "you".  "Licensees" and
2747      "recipients" may be individuals or organizations.
2748
2749      To "modify" a work means to copy from or adapt all or part of the
2750      work in a fashion requiring copyright permission, other than the
2751      making of an exact copy.  The resulting work is called a "modified
2752      version" of the earlier work or a work "based on" the earlier work.
2753
2754      A "covered work" means either the unmodified Program or a work
2755      based on the Program.
2756
2757      To "propagate" a work means to do anything with it that, without
2758      permission, would make you directly or secondarily liable for
2759      infringement under applicable copyright law, except executing it
2760      on a computer or modifying a private copy.  Propagation includes
2761      copying, distribution (with or without modification), making
2762      available to the public, and in some countries other activities as
2763      well.
2764
2765      To "convey" a work means any kind of propagation that enables other
2766      parties to make or receive copies.  Mere interaction with a user
2767      through a computer network, with no transfer of a copy, is not
2768      conveying.
2769
2770      An interactive user interface displays "Appropriate Legal Notices"
2771      to the extent that it includes a convenient and prominently visible
2772      feature that (1) displays an appropriate copyright notice, and (2)
2773      tells the user that there is no warranty for the work (except to
2774      the extent that warranties are provided), that licensees may
2775      convey the work under this License, and how to view a copy of this
2776      License.  If the interface presents a list of user commands or
2777      options, such as a menu, a prominent item in the list meets this
2778      criterion.
2779
2780   1. Source Code.
2781
2782      The "source code" for a work means the preferred form of the work
2783      for making modifications to it.  "Object code" means any
2784      non-source form of a work.
2785
2786      A "Standard Interface" means an interface that either is an
2787      official standard defined by a recognized standards body, or, in
2788      the case of interfaces specified for a particular programming
2789      language, one that is widely used among developers working in that
2790      language.
2791
2792      The "System Libraries" of an executable work include anything,
2793      other than the work as a whole, that (a) is included in the normal
2794      form of packaging a Major Component, but which is not part of that
2795      Major Component, and (b) serves only to enable use of the work
2796      with that Major Component, or to implement a Standard Interface
2797      for which an implementation is available to the public in source
2798      code form.  A "Major Component", in this context, means a major
2799      essential component (kernel, window system, and so on) of the
2800      specific operating system (if any) on which the executable work
2801      runs, or a compiler used to produce the work, or an object code
2802      interpreter used to run it.
2803
2804      The "Corresponding Source" for a work in object code form means all
2805      the source code needed to generate, install, and (for an executable
2806      work) run the object code and to modify the work, including
2807      scripts to control those activities.  However, it does not include
2808      the work's System Libraries, or general-purpose tools or generally
2809      available free programs which are used unmodified in performing
2810      those activities but which are not part of the work.  For example,
2811      Corresponding Source includes interface definition files
2812      associated with source files for the work, and the source code for
2813      shared libraries and dynamically linked subprograms that the work
2814      is specifically designed to require, such as by intimate data
2815      communication or control flow between those subprograms and other
2816      parts of the work.
2817
2818      The Corresponding Source need not include anything that users can
2819      regenerate automatically from other parts of the Corresponding
2820      Source.
2821
2822      The Corresponding Source for a work in source code form is that
2823      same work.
2824
2825   2. Basic Permissions.
2826
2827      All rights granted under this License are granted for the term of
2828      copyright on the Program, and are irrevocable provided the stated
2829      conditions are met.  This License explicitly affirms your unlimited
2830      permission to run the unmodified Program.  The output from running
2831      a covered work is covered by this License only if the output,
2832      given its content, constitutes a covered work.  This License
2833      acknowledges your rights of fair use or other equivalent, as
2834      provided by copyright law.
2835
2836      You may make, run and propagate covered works that you do not
2837      convey, without conditions so long as your license otherwise
2838      remains in force.  You may convey covered works to others for the
2839      sole purpose of having them make modifications exclusively for
2840      you, or provide you with facilities for running those works,
2841      provided that you comply with the terms of this License in
2842      conveying all material for which you do not control copyright.
2843      Those thus making or running the covered works for you must do so
2844      exclusively on your behalf, under your direction and control, on
2845      terms that prohibit them from making any copies of your
2846      copyrighted material outside their relationship with you.
2847
2848      Conveying under any other circumstances is permitted solely under
2849      the conditions stated below.  Sublicensing is not allowed; section
2850      10 makes it unnecessary.
2851
2852   3. Protecting Users' Legal Rights From Anti-Circumvention Law.
2853
2854      No covered work shall be deemed part of an effective technological
2855      measure under any applicable law fulfilling obligations under
2856      article 11 of the WIPO copyright treaty adopted on 20 December
2857      1996, or similar laws prohibiting or restricting circumvention of
2858      such measures.
2859
2860      When you convey a covered work, you waive any legal power to forbid
2861      circumvention of technological measures to the extent such
2862      circumvention is effected by exercising rights under this License
2863      with respect to the covered work, and you disclaim any intention
2864      to limit operation or modification of the work as a means of
2865      enforcing, against the work's users, your or third parties' legal
2866      rights to forbid circumvention of technological measures.
2867
2868   4. Conveying Verbatim Copies.
2869
2870      You may convey verbatim copies of the Program's source code as you
2871      receive it, in any medium, provided that you conspicuously and
2872      appropriately publish on each copy an appropriate copyright notice;
2873      keep intact all notices stating that this License and any
2874      non-permissive terms added in accord with section 7 apply to the
2875      code; keep intact all notices of the absence of any warranty; and
2876      give all recipients a copy of this License along with the Program.
2877
2878      You may charge any price or no price for each copy that you convey,
2879      and you may offer support or warranty protection for a fee.
2880
2881   5. Conveying Modified Source Versions.
2882
2883      You may convey a work based on the Program, or the modifications to
2884      produce it from the Program, in the form of source code under the
2885      terms of section 4, provided that you also meet all of these
2886      conditions:
2887
2888        a. The work must carry prominent notices stating that you
2889           modified it, and giving a relevant date.
2890
2891        b. The work must carry prominent notices stating that it is
2892           released under this License and any conditions added under
2893           section 7.  This requirement modifies the requirement in
2894           section 4 to "keep intact all notices".
2895
2896        c. You must license the entire work, as a whole, under this
2897           License to anyone who comes into possession of a copy.  This
2898           License will therefore apply, along with any applicable
2899           section 7 additional terms, to the whole of the work, and all
2900           its parts, regardless of how they are packaged.  This License
2901           gives no permission to license the work in any other way, but
2902           it does not invalidate such permission if you have separately
2903           received it.
2904
2905        d. If the work has interactive user interfaces, each must display
2906           Appropriate Legal Notices; however, if the Program has
2907           interactive interfaces that do not display Appropriate Legal
2908           Notices, your work need not make them do so.
2909
2910      A compilation of a covered work with other separate and independent
2911      works, which are not by their nature extensions of the covered
2912      work, and which are not combined with it such as to form a larger
2913      program, in or on a volume of a storage or distribution medium, is
2914      called an "aggregate" if the compilation and its resulting
2915      copyright are not used to limit the access or legal rights of the
2916      compilation's users beyond what the individual works permit.
2917      Inclusion of a covered work in an aggregate does not cause this
2918      License to apply to the other parts of the aggregate.
2919
2920   6. Conveying Non-Source Forms.
2921
2922      You may convey a covered work in object code form under the terms
2923      of sections 4 and 5, provided that you also convey the
2924      machine-readable Corresponding Source under the terms of this
2925      License, in one of these ways:
2926
2927        a. Convey the object code in, or embodied in, a physical product
2928           (including a physical distribution medium), accompanied by the
2929           Corresponding Source fixed on a durable physical medium
2930           customarily used for software interchange.
2931
2932        b. Convey the object code in, or embodied in, a physical product
2933           (including a physical distribution medium), accompanied by a
2934           written offer, valid for at least three years and valid for
2935           as long as you offer spare parts or customer support for that
2936           product model, to give anyone who possesses the object code
2937           either (1) a copy of the Corresponding Source for all the
2938           software in the product that is covered by this License, on a
2939           durable physical medium customarily used for software
2940           interchange, for a price no more than your reasonable cost of
2941           physically performing this conveying of source, or (2) access
2942           to copy the Corresponding Source from a network server at no
2943           charge.
2944
2945        c. Convey individual copies of the object code with a copy of
2946           the written offer to provide the Corresponding Source.  This
2947           alternative is allowed only occasionally and noncommercially,
2948           and only if you received the object code with such an offer,
2949           in accord with subsection 6b.
2950
2951        d. Convey the object code by offering access from a designated
2952           place (gratis or for a charge), and offer equivalent access
2953           to the Corresponding Source in the same way through the same
2954           place at no further charge.  You need not require recipients
2955           to copy the Corresponding Source along with the object code.
2956           If the place to copy the object code is a network server, the
2957           Corresponding Source may be on a different server (operated
2958           by you or a third party) that supports equivalent copying
2959           facilities, provided you maintain clear directions next to
2960           the object code saying where to find the Corresponding Source.
2961           Regardless of what server hosts the Corresponding Source, you
2962           remain obligated to ensure that it is available for as long
2963           as needed to satisfy these requirements.
2964
2965        e. Convey the object code using peer-to-peer transmission,
2966           provided you inform other peers where the object code and
2967           Corresponding Source of the work are being offered to the
2968           general public at no charge under subsection 6d.
2969
2970
2971      A separable portion of the object code, whose source code is
2972      excluded from the Corresponding Source as a System Library, need
2973      not be included in conveying the object code work.
2974
2975      A "User Product" is either (1) a "consumer product", which means
2976      any tangible personal property which is normally used for personal,
2977      family, or household purposes, or (2) anything designed or sold for
2978      incorporation into a dwelling.  In determining whether a product
2979      is a consumer product, doubtful cases shall be resolved in favor of
2980      coverage.  For a particular product received by a particular user,
2981      "normally used" refers to a typical or common use of that class of
2982      product, regardless of the status of the particular user or of the
2983      way in which the particular user actually uses, or expects or is
2984      expected to use, the product.  A product is a consumer product
2985      regardless of whether the product has substantial commercial,
2986      industrial or non-consumer uses, unless such uses represent the
2987      only significant mode of use of the product.
2988
2989      "Installation Information" for a User Product means any methods,
2990      procedures, authorization keys, or other information required to
2991      install and execute modified versions of a covered work in that
2992      User Product from a modified version of its Corresponding Source.
2993      The information must suffice to ensure that the continued
2994      functioning of the modified object code is in no case prevented or
2995      interfered with solely because modification has been made.
2996
2997      If you convey an object code work under this section in, or with,
2998      or specifically for use in, a User Product, and the conveying
2999      occurs as part of a transaction in which the right of possession
3000      and use of the User Product is transferred to the recipient in
3001      perpetuity or for a fixed term (regardless of how the transaction
3002      is characterized), the Corresponding Source conveyed under this
3003      section must be accompanied by the Installation Information.  But
3004      this requirement does not apply if neither you nor any third party
3005      retains the ability to install modified object code on the User
3006      Product (for example, the work has been installed in ROM).
3007
3008      The requirement to provide Installation Information does not
3009      include a requirement to continue to provide support service,
3010      warranty, or updates for a work that has been modified or
3011      installed by the recipient, or for the User Product in which it
3012      has been modified or installed.  Access to a network may be denied
3013      when the modification itself materially and adversely affects the
3014      operation of the network or violates the rules and protocols for
3015      communication across the network.
3016
3017      Corresponding Source conveyed, and Installation Information
3018      provided, in accord with this section must be in a format that is
3019      publicly documented (and with an implementation available to the
3020      public in source code form), and must require no special password
3021      or key for unpacking, reading or copying.
3022
3023   7. Additional Terms.
3024
3025      "Additional permissions" are terms that supplement the terms of
3026      this License by making exceptions from one or more of its
3027      conditions.  Additional permissions that are applicable to the
3028      entire Program shall be treated as though they were included in
3029      this License, to the extent that they are valid under applicable
3030      law.  If additional permissions apply only to part of the Program,
3031      that part may be used separately under those permissions, but the
3032      entire Program remains governed by this License without regard to
3033      the additional permissions.
3034
3035      When you convey a copy of a covered work, you may at your option
3036      remove any additional permissions from that copy, or from any part
3037      of it.  (Additional permissions may be written to require their own
3038      removal in certain cases when you modify the work.)  You may place
3039      additional permissions on material, added by you to a covered work,
3040      for which you have or can give appropriate copyright permission.
3041
3042      Notwithstanding any other provision of this License, for material
3043      you add to a covered work, you may (if authorized by the copyright
3044      holders of that material) supplement the terms of this License
3045      with terms:
3046
3047        a. Disclaiming warranty or limiting liability differently from
3048           the terms of sections 15 and 16 of this License; or
3049
3050        b. Requiring preservation of specified reasonable legal notices
3051           or author attributions in that material or in the Appropriate
3052           Legal Notices displayed by works containing it; or
3053
3054        c. Prohibiting misrepresentation of the origin of that material,
3055           or requiring that modified versions of such material be
3056           marked in reasonable ways as different from the original
3057           version; or
3058
3059        d. Limiting the use for publicity purposes of names of licensors
3060           or authors of the material; or
3061
3062        e. Declining to grant rights under trademark law for use of some
3063           trade names, trademarks, or service marks; or
3064
3065        f. Requiring indemnification of licensors and authors of that
3066           material by anyone who conveys the material (or modified
3067           versions of it) with contractual assumptions of liability to
3068           the recipient, for any liability that these contractual
3069           assumptions directly impose on those licensors and authors.
3070
3071      All other non-permissive additional terms are considered "further
3072      restrictions" within the meaning of section 10.  If the Program as
3073      you received it, or any part of it, contains a notice stating that
3074      it is governed by this License along with a term that is a further
3075      restriction, you may remove that term.  If a license document
3076      contains a further restriction but permits relicensing or
3077      conveying under this License, you may add to a covered work
3078      material governed by the terms of that license document, provided
3079      that the further restriction does not survive such relicensing or
3080      conveying.
3081
3082      If you add terms to a covered work in accord with this section, you
3083      must place, in the relevant source files, a statement of the
3084      additional terms that apply to those files, or a notice indicating
3085      where to find the applicable terms.
3086
3087      Additional terms, permissive or non-permissive, may be stated in
3088      the form of a separately written license, or stated as exceptions;
3089      the above requirements apply either way.
3090
3091   8. Termination.
3092
3093      You may not propagate or modify a covered work except as expressly
3094      provided under this License.  Any attempt otherwise to propagate or
3095      modify it is void, and will automatically terminate your rights
3096      under this License (including any patent licenses granted under
3097      the third paragraph of section 11).
3098
3099      However, if you cease all violation of this License, then your
3100      license from a particular copyright holder is reinstated (a)
3101      provisionally, unless and until the copyright holder explicitly
3102      and finally terminates your license, and (b) permanently, if the
3103      copyright holder fails to notify you of the violation by some
3104      reasonable means prior to 60 days after the cessation.
3105
3106      Moreover, your license from a particular copyright holder is
3107      reinstated permanently if the copyright holder notifies you of the
3108      violation by some reasonable means, this is the first time you have
3109      received notice of violation of this License (for any work) from
3110      that copyright holder, and you cure the violation prior to 30 days
3111      after your receipt of the notice.
3112
3113      Termination of your rights under this section does not terminate
3114      the licenses of parties who have received copies or rights from
3115      you under this License.  If your rights have been terminated and
3116      not permanently reinstated, you do not qualify to receive new
3117      licenses for the same material under section 10.
3118
3119   9. Acceptance Not Required for Having Copies.
3120
3121      You are not required to accept this License in order to receive or
3122      run a copy of the Program.  Ancillary propagation of a covered work
3123      occurring solely as a consequence of using peer-to-peer
3124      transmission to receive a copy likewise does not require
3125      acceptance.  However, nothing other than this License grants you
3126      permission to propagate or modify any covered work.  These actions
3127      infringe copyright if you do not accept this License.  Therefore,
3128      by modifying or propagating a covered work, you indicate your
3129      acceptance of this License to do so.
3130
3131  10. Automatic Licensing of Downstream Recipients.
3132
3133      Each time you convey a covered work, the recipient automatically
3134      receives a license from the original licensors, to run, modify and
3135      propagate that work, subject to this License.  You are not
3136      responsible for enforcing compliance by third parties with this
3137      License.
3138
3139      An "entity transaction" is a transaction transferring control of an
3140      organization, or substantially all assets of one, or subdividing an
3141      organization, or merging organizations.  If propagation of a
3142      covered work results from an entity transaction, each party to that
3143      transaction who receives a copy of the work also receives whatever
3144      licenses to the work the party's predecessor in interest had or
3145      could give under the previous paragraph, plus a right to
3146      possession of the Corresponding Source of the work from the
3147      predecessor in interest, if the predecessor has it or can get it
3148      with reasonable efforts.
3149
3150      You may not impose any further restrictions on the exercise of the
3151      rights granted or affirmed under this License.  For example, you
3152      may not impose a license fee, royalty, or other charge for
3153      exercise of rights granted under this License, and you may not
3154      initiate litigation (including a cross-claim or counterclaim in a
3155      lawsuit) alleging that any patent claim is infringed by making,
3156      using, selling, offering for sale, or importing the Program or any
3157      portion of it.
3158
3159  11. Patents.
3160
3161      A "contributor" is a copyright holder who authorizes use under this
3162      License of the Program or a work on which the Program is based.
3163      The work thus licensed is called the contributor's "contributor
3164      version".
3165
3166      A contributor's "essential patent claims" are all patent claims
3167      owned or controlled by the contributor, whether already acquired or
3168      hereafter acquired, that would be infringed by some manner,
3169      permitted by this License, of making, using, or selling its
3170      contributor version, but do not include claims that would be
3171      infringed only as a consequence of further modification of the
3172      contributor version.  For purposes of this definition, "control"
3173      includes the right to grant patent sublicenses in a manner
3174      consistent with the requirements of this License.
3175
3176      Each contributor grants you a non-exclusive, worldwide,
3177      royalty-free patent license under the contributor's essential
3178      patent claims, to make, use, sell, offer for sale, import and
3179      otherwise run, modify and propagate the contents of its
3180      contributor version.
3181
3182      In the following three paragraphs, a "patent license" is any
3183      express agreement or commitment, however denominated, not to
3184      enforce a patent (such as an express permission to practice a
3185      patent or covenant not to sue for patent infringement).  To
3186      "grant" such a patent license to a party means to make such an
3187      agreement or commitment not to enforce a patent against the party.
3188
3189      If you convey a covered work, knowingly relying on a patent
3190      license, and the Corresponding Source of the work is not available
3191      for anyone to copy, free of charge and under the terms of this
3192      License, through a publicly available network server or other
3193      readily accessible means, then you must either (1) cause the
3194      Corresponding Source to be so available, or (2) arrange to deprive
3195      yourself of the benefit of the patent license for this particular
3196      work, or (3) arrange, in a manner consistent with the requirements
3197      of this License, to extend the patent license to downstream
3198      recipients.  "Knowingly relying" means you have actual knowledge
3199      that, but for the patent license, your conveying the covered work
3200      in a country, or your recipient's use of the covered work in a
3201      country, would infringe one or more identifiable patents in that
3202      country that you have reason to believe are valid.
3203
3204      If, pursuant to or in connection with a single transaction or
3205      arrangement, you convey, or propagate by procuring conveyance of, a
3206      covered work, and grant a patent license to some of the parties
3207      receiving the covered work authorizing them to use, propagate,
3208      modify or convey a specific copy of the covered work, then the
3209      patent license you grant is automatically extended to all
3210      recipients of the covered work and works based on it.
3211
3212      A patent license is "discriminatory" if it does not include within
3213      the scope of its coverage, prohibits the exercise of, or is
3214      conditioned on the non-exercise of one or more of the rights that
3215      are specifically granted under this License.  You may not convey a
3216      covered work if you are a party to an arrangement with a third
3217      party that is in the business of distributing software, under
3218      which you make payment to the third party based on the extent of
3219      your activity of conveying the work, and under which the third
3220      party grants, to any of the parties who would receive the covered
3221      work from you, a discriminatory patent license (a) in connection
3222      with copies of the covered work conveyed by you (or copies made
3223      from those copies), or (b) primarily for and in connection with
3224      specific products or compilations that contain the covered work,
3225      unless you entered into that arrangement, or that patent license
3226      was granted, prior to 28 March 2007.
3227
3228      Nothing in this License shall be construed as excluding or limiting
3229      any implied license or other defenses to infringement that may
3230      otherwise be available to you under applicable patent law.
3231
3232  12. No Surrender of Others' Freedom.
3233
3234      If conditions are imposed on you (whether by court order,
3235      agreement or otherwise) that contradict the conditions of this
3236      License, they do not excuse you from the conditions of this
3237      License.  If you cannot convey a covered work so as to satisfy
3238      simultaneously your obligations under this License and any other
3239      pertinent obligations, then as a consequence you may not convey it
3240      at all.  For example, if you agree to terms that obligate you to
3241      collect a royalty for further conveying from those to whom you
3242      convey the Program, the only way you could satisfy both those
3243      terms and this License would be to refrain entirely from conveying
3244      the Program.
3245
3246  13. Use with the GNU Affero General Public License.
3247
3248      Notwithstanding any other provision of this License, you have
3249      permission to link or combine any covered work with a work licensed
3250      under version 3 of the GNU Affero General Public License into a
3251      single combined work, and to convey the resulting work.  The terms
3252      of this License will continue to apply to the part which is the
3253      covered work, but the special requirements of the GNU Affero
3254      General Public License, section 13, concerning interaction through
3255      a network will apply to the combination as such.
3256
3257  14. Revised Versions of this License.
3258
3259      The Free Software Foundation may publish revised and/or new
3260      versions of the GNU General Public License from time to time.
3261      Such new versions will be similar in spirit to the present
3262      version, but may differ in detail to address new problems or
3263      concerns.
3264
3265      Each version is given a distinguishing version number.  If the
3266      Program specifies that a certain numbered version of the GNU
3267      General Public License "or any later version" applies to it, you
3268      have the option of following the terms and conditions either of
3269      that numbered version or of any later version published by the
3270      Free Software Foundation.  If the Program does not specify a
3271      version number of the GNU General Public License, you may choose
3272      any version ever published by the Free Software Foundation.
3273
3274      If the Program specifies that a proxy can decide which future
3275      versions of the GNU General Public License can be used, that
3276      proxy's public statement of acceptance of a version permanently
3277      authorizes you to choose that version for the Program.
3278
3279      Later license versions may give you additional or different
3280      permissions.  However, no additional obligations are imposed on any
3281      author or copyright holder as a result of your choosing to follow a
3282      later version.
3283
3284  15. Disclaimer of Warranty.
3285
3286      THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
3287      APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE
3288      COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
3289      WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
3290      INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
3291      MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE
3292      RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
3293      SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
3294      NECESSARY SERVICING, REPAIR OR CORRECTION.
3295
3296  16. Limitation of Liability.
3297
3298      IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
3299      WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES
3300      AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
3301      FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
3302      CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
3303      THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
3304      BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
3305      PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
3306      PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
3307      THE POSSIBILITY OF SUCH DAMAGES.
3308
3309  17. Interpretation of Sections 15 and 16.
3310
3311      If the disclaimer of warranty and limitation of liability provided
3312      above cannot be given local legal effect according to their terms,
3313      reviewing courts shall apply local law that most closely
3314      approximates an absolute waiver of all civil liability in
3315      connection with the Program, unless a warranty or assumption of
3316      liability accompanies a copy of the Program in return for a fee.
3317
3318
3319 END OF TERMS AND CONDITIONS
3320 ===========================
3321
3322 How to Apply These Terms to Your New Programs
3323 =============================================
3324
3325 If you develop a new program, and you want it to be of the greatest
3326 possible use to the public, the best way to achieve this is to make it
3327 free software which everyone can redistribute and change under these
3328 terms.
3329
3330    To do so, attach the following notices to the program.  It is safest
3331 to attach them to the start of each source file to most effectively
3332 state the exclusion of warranty; and each file should have at least the
3333 "copyright" line and a pointer to where the full notice is found.
3334
3335      ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
3336      Copyright (C) YEAR NAME OF AUTHOR
3337
3338      This program is free software: you can redistribute it and/or modify
3339      it under the terms of the GNU General Public License as published by
3340      the Free Software Foundation, either version 3 of the License, or (at
3341      your option) any later version.
3342
3343      This program is distributed in the hope that it will be useful, but
3344      WITHOUT ANY WARRANTY; without even the implied warranty of
3345      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
3346      General Public License for more details.
3347
3348      You should have received a copy of the GNU General Public License
3349      along with this program.  If not, see `http://www.gnu.org/licenses/'.
3350
3351    Also add information on how to contact you by electronic and paper
3352 mail.
3353
3354    If the program does terminal interaction, make it output a short
3355 notice like this when it starts in an interactive mode:
3356
3357      PROGRAM Copyright (C) YEAR NAME OF AUTHOR
3358      This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
3359      This is free software, and you are welcome to redistribute it
3360      under certain conditions; type `show c' for details.
3361
3362    The hypothetical commands `show w' and `show c' should show the
3363 appropriate parts of the General Public License.  Of course, your
3364 program's commands might be different; for a GUI interface, you would
3365 use an "about box".
3366
3367    You should also get your employer (if you work as a programmer) or
3368 school, if any, to sign a "copyright disclaimer" for the program, if
3369 necessary.  For more information on this, and how to apply and follow
3370 the GNU GPL, see `http://www.gnu.org/licenses/'.
3371
3372    The GNU General Public License does not permit incorporating your
3373 program into proprietary programs.  If your program is a subroutine
3374 library, you may consider it more useful to permit linking proprietary
3375 applications with the library.  If this is what you want to do, use the
3376 GNU Lesser General Public License instead of this License.  But first,
3377 please read `http://www.gnu.org/philosophy/why-not-lgpl.html'.  \r
3378
3379 Index
3380 *****
3381
3382 \r
3383
3384 -animateSpeed, option:                         See 3.5.      (line 1784)
3385 .cmailaliases:                                 See 10.1.     (line 2423)
3386 .cmailgames:                                   See 10.1.     (line 2418)
3387 .icsrc:                                        See 3.3.      (line 1307)
3388 <, Button:                                     See 2.4.      (line  452)
3389 <<, Button:                                    See 2.4.      (line  482)
3390 >, Button:                                     See 2.4.      (line  470)
3391 >>, Button:                                    See 2.4.      (line  499)
3392 abort, ICS command:                            See 4.        (line 2072)
3393 Abort, Menu Item:                              See 2.3.      (line  431)
3394 About XBoard, Menu Item:                       See 2.6.      (line  832)
3395 accept, ICS command:                           See 4.        (line 2060)
3396 Accept, Menu Item:                             See 2.3.      (line  406)
3397 Action, Menu:                                  See 2.3.      (line  405)
3398 adjourn, ICS command:                          See 4.        (line 2072)
3399 Adjourn, Menu Item:                            See 2.3.      (line  427)
3400 Adjudicate Draw, Menu Item:                    See 2.4.      (line  533)
3401 Adjudicate to Black, Menu Item:                See 2.4.      (line  533)
3402 Adjudicate to White, Menu Item:                See 2.4.      (line  533)
3403 adjudicateDrawMoves, option:                   See 3.6.      (line 1800)
3404 adjudicateLossThreshold, option:               See 3.6.      (line 1792)
3405 Adjudications, Menu Item:                      See 2.5.      (line  548)
3406 alarm, option:                                 See 3.3.      (line 1351)
3407 Always Queen, Menu Item:                       See 2.5.      (line  596)
3408 alwaysPromoteToQueen, option:                  See 3.5.      (line 1591)
3409 Analysis Mode, Menu Item:                      See 2.2.      (line  241)
3410 Analyze File, Menu Item:                       See 2.2.      (line  256)
3411 Animate Dragging, Menu Item:                   See 2.5.      (line  602)
3412 Animate Moving, Menu Item:                     See 2.5.      (line  609)
3413 animate, option:                               See 3.5.      (line 1780)
3414 animateDragging, option:                       See 3.5.      (line 1776)
3415 animateMoving, option:                         See 3.5.      (line 1780)
3416 Authors:                                       See 9.        (line 2289)
3417 Auto Comment, Menu Item:                       See 2.5.      (line  617)
3418 Auto Flag, Menu Item:                          See 2.5.      (line  625)
3419 Auto Flip View, Menu Item:                     See 2.5.      (line  634)
3420 Auto Observe, Menu Item:                       See 2.5.      (line  639)
3421 Auto Raise Board, Menu Item:                   See 2.5.      (line  652)
3422 Auto Save, Menu Item:                          See 2.5.      (line  657)
3423 autobs, option:                                See 3.3.      (line 1335)
3424 autoCallFlag, option:                          See 3.3.      (line 1331)
3425 autocomm, option:                              See 3.3.      (line 1327)
3426 autoComment, option:                           See 3.3.      (line 1327)
3427 autoflag, option:                              See 3.3.      (line 1331)
3428 autoflip, option:                              See 3.5.      (line 1636)
3429 autoFlipView, option:                          See 3.5.      (line 1636)
3430 autoKibitz, option:                            See 3.3.      (line 1339)
3431 autoObserve, option:                           See 3.3.      (line 1335)
3432 autoraise, option:                             See 3.5.      (line 1632)
3433 autoRaiseBoard, option:                        See 3.5.      (line 1632)
3434 autosave, option:                              See 3.4.      (line 1513)
3435 autoSaveGames, option:                         See 3.4.      (line 1513)
3436 Back to Start, Menu Item:                      See 2.4.      (line  482)
3437 Backward, Menu Item:                           See 2.4.      (line  452)
3438 bell, option:                                  See 3.5.      (line 1578)
3439 bitmapDirectory, option:                       See 3.5.      (line 1718)
3440 blackPieceColor, option:                       See 3.5.      (line 1759)
3441 blind, option:                                 See 3.5.      (line 1684)
3442 Blindfold, Menu Item:                          See 2.5.      (line  664)
3443 blindfold, option:                             See 3.5.      (line 1684)
3444 bm, option:                                    See 3.5.      (line 1718)
3445 board size:                                    See 3.5.      (line 1599)
3446 boardHeight, option:                           See 3.7.      (line 1914)
3447 boardSize, option:                             See 3.5.      (line 1599)
3448 boardWidth, option:                            See 3.7.      (line 1919)
3449 Book, Menu Item:                               See 2.6.      (line  822)
3450 Bug reports:                                   See 8.        (line 2260)
3451 Bugs <1>:                                      See 8.        (line 2260)
3452 Bugs:                                          See 7.        (line 2207)
3453 buttons, option:                               See 3.5.      (line 1658)
3454 Call Flag, Menu Item:                          See 2.3.      (line  416)
3455 checkMates, option:                            See 3.6.      (line 1805)
3456 Chess engine options:                          See 3.1.      (line  908)
3457 CHESSDIR:                                      See 6.        (line 2198)
3458 clock, option:                                 See 3.1.      (line  925)
3459 clockFont, option:                             See 3.5.      (line 1688)
3460 clockMode, option:                             See 3.1.      (line  925)
3461 cmail:                                         See 10.       (line 2329)
3462 colorChallenge, option:                        See 3.3.      (line 1382)
3463 colorChannel, option:                          See 3.3.      (line 1382)
3464 colorChannel1, option:                         See 3.3.      (line 1382)
3465 colorize, option:                              See 3.3.      (line 1367)
3466 colorKibitz, option:                           See 3.3.      (line 1382)
3467 colorNormal, option:                           See 3.3.      (line 1382)
3468 colorRequest, option:                          See 3.3.      (line 1382)
3469 Colors <1>:                                    See 3.5.      (line 1759)
3470 Colors:                                        See 3.3.      (line 1367)
3471 colorSeek, option:                             See 3.3.      (line 1382)
3472 colorShout, option:                            See 3.3.      (line 1382)
3473 colorSShout, option:                           See 3.3.      (line 1382)
3474 colorTell, option:                             See 3.3.      (line 1382)
3475 Contributors:                                  See 9.        (line 2289)
3476 coordFont, option:                             See 3.5.      (line 1694)
3477 coords, option:                                See 3.5.      (line 1628)
3478 Copy Game, Menu Item:                          See 2.1.      (line  167)
3479 Copy Position, Menu Item:                      See 2.1.      (line  208)
3480 darkSquareColor, option:                       See 3.5.      (line 1759)
3481 debug, option:                                 See 3.7.      (line 1966)
3482 debugFile, option:                             See 3.7.      (line 1969)
3483 debugMode, option:                             See 3.7.      (line 1966)
3484 decline, ICS command:                          See 4.        (line 2060)
3485 Decline, Menu Item:                            See 2.3.      (line  411)
3486 defaultCacheSizeEGTB, option:                  See 3.2.      (line 1192)
3487 defaultFrcPosition, option:                    See 3.7.      (line 1934)
3488 defaultHashSize, option:                       See 3.2.      (line 1186)
3489 defaultPathEGTB, option:                       See 3.2.      (line 1198)
3490 delayAfterQuit, option:                        See 3.7.      (line 2002)
3491 delayBeforeQuit, option:                       See 3.7.      (line 2002)
3492 display, option:                               See 3.5.      (line 1569)
3493 drag, option:                                  See 3.5.      (line 1776)
3494 draw, ICS command:                             See 4.        (line 2072)
3495 Draw, Menu Item:                               See 2.3.      (line  422)
3496 Edit Comment, Menu Item:                       See 2.2.      (line  366)
3497 Edit Game, Menu Item:                          See 2.2.      (line  288)
3498 Edit Position, Menu Item:                      See 2.2.      (line  301)
3499 Edit Tags, Menu Item:                          See 2.2.      (line  343)
3500 egtFormats, option:                            See 3.2.      (line 1202)
3501 Engine Settings:                               See 3.2.      (line 1153)
3502 engineDebugOutput, option:                     See 3.7.      (line 1974)
3503 Environment variables:                         See 6.        (line 2198)
3504 examine, ICS command:                          See 4.        (line 2095)
3505 Exit, Menu Item:                               See 2.1.      (line  225)
3506 exit, option:                                  See 3.5.      (line 1583)
3507 fb, option:                                    See 3.1.      (line 1036)
3508 fcp, option:                                   See 3.1.      (line 1028)
3509 fd, option:                                    See 3.1.      (line 1052)
3510 fh, option:                                    See 3.1.      (line 1044)
3511 File Menu:                                     See 2.1.      (line   83)
3512 finger, ICS command:                           See 4.        (line 2082)
3513 firstChessProgram, option:                     See 3.1.      (line 1028)
3514 firstComputerString, option:                   See 3.1.      (line 1084)
3515 firstDirectory, option:                        See 3.1.      (line 1052)
3516 firstHasOwnBookUCI, option:                    See 3.2.      (line 1181)
3517 firstHost, option:                             See 3.1.      (line 1044)
3518 firstIsUCI, option:                            See 3.2.      (line 1155)
3519 firstNeedsNoncompliantFEN, option:             See 3.1.      (line 1135)
3520 firstNPS, option:                              See 3.1.      (line  948)
3521 firstOptions, option:                          See 3.1.      (line 1124)
3522 firstPlaysBlack, option:                       See 3.1.      (line 1036)
3523 firstProtocolVersion, option:                  See 3.1.      (line 1101)
3524 firstScoreAbs, option:                         See 3.1.      (line 1109)
3525 firstTimeOdds, option:                         See 3.1.      (line  967)
3526 firstXBook, option:                            See 3.2.      (line 1181)
3527 Flash Moves, Menu Item:                        See 2.5.      (line  670)
3528 flash, option:                                 See 3.5.      (line 1671)
3529 flashCount, option:                            See 3.5.      (line 1671)
3530 flashRate, option:                             See 3.5.      (line 1671)
3531 Flip View, Menu Item:                          See 2.5.      (line  543)
3532 flip, option:                                  See 3.5.      (line 1640)
3533 flipView, option:                              See 3.5.      (line 1640)
3534 fNoOwnBookUCI, option:                         See 3.2.      (line 1181)
3535 Font:                                          See 3.5.      (line 1701)
3536 Font, clock:                                   See 3.5.      (line 1688)
3537 Font, coordinates:                             See 3.5.      (line 1694)
3538 font, option:                                  See 3.5.      (line 1701)
3539 fontSizeTolerance, option:                     See 3.5.      (line 1708)
3540 Forward to End, Menu Item:                     See 2.4.      (line  499)
3541 Forward, Menu Item:                            See 2.4.      (line  470)
3542 fUCI, option:                                  See 3.2.      (line 1155)
3543 gameListTags, option:                          See 3.4.      (line 1556)
3544 games, ICS command:                            See 4.        (line 2049)
3545 gateway, option:                               See 3.3.      (line 1262)
3546 geometry, option:                              See 3.5.      (line 1569)
3547 Get Move List, Menu Item:                      See 2.5.      (line  683)
3548 getMoveList, option:                           See 3.3.      (line 1347)
3549 Help Menu:                                     See 2.6.      (line  804)
3550 help, ICS command:                             See 4.        (line 2035)
3551 Hide Thinking, Menu Item:                      See 2.5.      (line  780)
3552 Highlight Last Move, Menu Item:                See 2.5.      (line  695)
3553 highlight, option:                             See 3.5.      (line 1680)
3554 highlightLastMove, option:                     See 3.5.      (line 1680)
3555 highlightSquareColor, option:                  See 3.5.      (line 1759)
3556 Hint, Menu Item:                               See 2.6.      (line  819)
3557 holdingsSize, option:                          See 3.7.      (line 1926)
3558 iconic, option:                                See 3.5.      (line 1569)
3559 ICS:                                           See 4.        (line 2011)
3560 ICS Alarm, Menu Item:                          See 2.5.      (line  715)
3561 ICS Client, Menu Item:                         See 2.2.      (line  266)
3562 ICS Input Box, Menu Item:                      See 2.2.      (line  371)
3563 ICS options:                                   See 3.3.      (line 1217)
3564 ICS, addresses:                                See 4.        (line 2011)
3565 ics, option:                                   See 3.3.      (line 1218)
3566 icsAlarm, option:                              See 3.3.      (line 1351)
3567 icsAlarmTime, option:                          See 3.3.      (line 1355)
3568 icscomm, option:                               See 3.3.      (line 1270)
3569 icshelper, option:                             See 3.3.      (line 1236)
3570 icshost, option:                               See 3.3.      (line 1223)
3571 icsinput, option:                              See 3.3.      (line 1323)
3572 icslogon, option:                              See 3.3.      (line 1307)
3573 icsport, option:                               See 3.3.      (line 1232)
3574 inc, option:                                   See 3.1.      (line  918)
3575 Info XBoard, Menu Item:                        See 2.6.      (line  805)
3576 initalMode, option:                            See 3.7.      (line 1860)
3577 initString, option:                            See 3.1.      (line 1061)
3578 Internet Chess Server:                         See 4.        (line 2011)
3579 internetChessServerCommPort, option:           See 3.3.      (line 1270)
3580 internetChessServerHelper, option:             See 3.3.      (line 1236)
3581 internetChessServerHost, option:               See 3.3.      (line 1223)
3582 internetChessServerInputBox, option:           See 3.3.      (line 1323)
3583 internetChessServerLogonScript, option:        See 3.3.      (line 1307)
3584 internetChessServerMode, option:               See 3.3.      (line 1218)
3585 internetChessServerPort, option:               See 3.3.      (line 1232)
3586 introduction:
3587           See ``Introduction''.                              (line   13)
3588 Keys:                                          See 2.7.      (line  838)
3589 legal, option:                                 See 3.5.      (line 1595)
3590 lgf, option:                                   See 3.4.      (line 1474)
3591 lgi, option:                                   See 3.4.      (line 1474)
3592 lightSquareColor, option:                      See 3.5.      (line 1759)
3593 Limitations:                                   See 7.        (line 2207)
3594 Load and Save options:                         See 3.4.      (line 1472)
3595 Load Game, Menu Item:                          See 2.1.      (line  115)
3596 Load Next Game, Menu Item:                     See 2.1.      (line  142)
3597 Load Next Position, Menu Item:                 See 2.1.      (line  188)
3598 Load Position, Menu Item:                      See 2.1.      (line  180)
3599 Load Previous Game, Menu Item:                 See 2.1.      (line  146)
3600 Load Previous Position, Menu Item:             See 2.1.      (line  191)
3601 loadGameFile, option:                          See 3.4.      (line 1474)
3602 loadGameIndex, option:                         See 3.4.      (line 1474)
3603 loadPositionFile, option:                      See 3.4.      (line 1518)
3604 loadPositionIndex, option:                     See 3.4.      (line 1518)
3605 lpf, option:                                   See 3.4.      (line 1518)
3606 lpi, option:                                   See 3.4.      (line 1518)
3607 Machine Black, Menu Item:                      See 2.2.      (line  235)
3608 Machine White, Menu Item:                      See 2.2.      (line  232)
3609 Mail Move, Menu Item:                          See 2.1.      (line  222)
3610 Major modes:                                   See 1.        (line   22)
3611 Man XBoard, Menu Item:                         See 2.6.      (line  812)
3612 matchGames, option:                            See 3.1.      (line 1005)
3613 matchMode, option:                             See 3.1.      (line 1018)
3614 materialDraws, option:                         See 3.6.      (line 1817)
3615 Menu, Action:                                  See 2.3.      (line  405)
3616 Menu, File:                                    See 2.1.      (line   83)
3617 Menu, Help:                                    See 2.6.      (line  804)
3618 Menu, Mode:                                    See 2.2.      (line  231)
3619 Menu, Options:                                 See 2.5.      (line  542)
3620 Menu, Step:                                    See 2.4.      (line  451)
3621 Menus:                                         See 2.        (line   60)
3622 mg, option:                                    See 3.1.      (line 1005)
3623 mm, option:                                    See 3.1.      (line 1018)
3624 Mode Menu:                                     See 2.2.      (line  231)
3625 mode, option:                                  See 3.7.      (line 1860)
3626 mono, option:                                  See 3.5.      (line 1664)
3627 monoMode, option:                              See 3.5.      (line 1664)
3628 Move Now, Menu Item:                           See 2.4.      (line  519)
3629 Move Sound, Menu Item:                         See 2.5.      (line  701)
3630 moves, option:                                 See 3.3.      (line 1347)
3631 movesound, option:                             See 3.5.      (line 1578)
3632 movesPerSession, option:                       See 3.1.      (line  914)
3633 mps, option:                                   See 3.1.      (line  914)
3634 msLoginDelay, option:                          See 3.3.      (line 1316)
3635 nameOfDebugFile, option:                       See 3.7.      (line 1969)
3636 ncp, option:                                   See 3.7.      (line 1855)
3637 New Game, Menu Item:                           See 2.1.      (line   84)
3638 New Shuffle Game, Menu Item:                   See 2.1.      (line   93)
3639 New variant, Menu Item:                        See 2.1.      (line  106)
3640 niceEngines, option:                           See 3.1.      (line 1115)
3641 noChessProgram, option:                        See 3.7.      (line 1855)
3642 noGUI, option:                                 See 3.5.      (line 1572)
3643 observe, ICS command:                          See 4.        (line 2091)
3644 Old Save Style, Menu Item:                     See 2.5.      (line  724)
3645 oldmoves, ICS command:                         See 4.        (line 2095)
3646 oldsave, option:                               See 3.4.      (line 1552)
3647 oldSaveStyle, option:                          See 3.4.      (line 1552)
3648 Options:                                       See 3.        (line  884)
3649 Options Menu:                                  See 2.5.      (line  542)
3650 Options, adjudication:                         See 3.6.      (line 1791)
3651 options, Chess engine:                         See 3.1.      (line  908)
3652 Options, ICS:                                  See 3.3.      (line 1217)
3653 Options, Load and Save:                        See 3.4.      (line 1472)
3654 Options, miscellaneous:                        See 3.7.      (line 1854)
3655 Options, User interface:                       See 3.5.      (line 1566)
3656 Other programs:                                See 11.       (line 2533)
3657 Paste Game, Menu Item:                         See 2.1.      (line  176)
3658 Paste Position, Menu Item:                     See 2.1.      (line  217)
3659 Pause, Menu Item:                              See 2.2.      (line  379)
3660 Periodic Updates, Menu Item:                   See 2.5.      (line  732)
3661 pgnEventHeader, option`:                       See 3.4.      (line 1544)
3662 pgnExtendedInfo, option`:                      See 3.4.      (line 1539)
3663 pieceToSquareTable, option:                    See 3.7.      (line 1940)
3664 pixmap, option:                                See 3.5.      (line 1718)
3665 pixmapDirectory, option:                       See 3.5.      (line 1718)
3666 PolyglotBook, option:                          See 3.2.      (line 1170)
3667 PolyglotDir, option:                           See 3.2.      (line 1162)
3668 Ponder Next Move, Menu Item:                   See 2.5.      (line  738)
3669 ponder, option:                                See 3.1.      (line  996)
3670 ponderNextMove, option:                        See 3.1.      (line  996)
3671 Popup Exit Message, Menu Item:                 See 2.5.      (line  743)
3672 Popup Move Errors, Menu Item:                  See 2.5.      (line  750)
3673 popup, option:                                 See 3.5.      (line 1587)
3674 popupExitMessage, option:                      See 3.5.      (line 1583)
3675 popupMoveErrors, option:                       See 3.5.      (line 1587)
3676 pre, option:                                   See 3.3.      (line 1359)
3677 Premove, Menu Item:                            See 2.5.      (line  759)
3678 premove, option:                               See 3.3.      (line 1359)
3679 Problems:                                      See 8.        (line 2260)
3680 queen, option:                                 See 3.5.      (line 1591)
3681 Quiet Play, Menu Item:                         See 2.5.      (line  770)
3682 quiet, option:                                 See 3.3.      (line 1363)
3683 quietPlay, option:                             See 3.3.      (line 1363)
3684 Reload CMail Message, Menu Item:               See 2.1.      (line  222)
3685 Reload Same Game, Menu Item:                   See 2.1.      (line  151)
3686 Reload Same Position, Menu Item:               See 2.1.      (line  196)
3687 remoteShell, option:                           See 3.7.      (line 1988)
3688 remoteUser, option:                            See 3.7.      (line 1993)
3689 Reporting bugs:                                See 8.        (line 2260)
3690 Reporting problems:                            See 8.        (line 2260)
3691 Resign, Menu Item:                             See 2.3.      (line  436)
3692 Retract Move, Menu Item:                       See 2.4.      (line  523)
3693 reuse, option:                                 See 3.1.      (line 1092)
3694 reuse2, option:                                See 3.1.      (line 1092)
3695 reuseFirst, option:                            See 3.1.      (line 1092)
3696 reuseSecond, option:                           See 3.1.      (line 1092)
3697 Revert, Menu Item:                             See 2.4.      (line  510)
3698 ringBellAfterMoves, option:                    See 3.5.      (line 1578)
3699 rsh, option:                                   See 3.7.      (line 1988)
3700 ruleMoves, option:                             See 3.6.      (line 1836)
3701 ruser, option:                                 See 3.7.      (line 1993)
3702 sameColorGames, option:                        See 3.1.      (line 1022)
3703 Save Game, Menu Item:                          See 2.1.      (line  155)
3704 saveGameFile, option:                          See 3.4.      (line 1508)
3705 saveOutOfBookInfo, option`:                    See 3.4.      (line 1548)
3706 savePositionFile, option:                      See 3.4.      (line 1534)
3707 scp, option:                                   See 3.1.      (line 1031)
3708 sd, option:                                    See 3.1.      (line  939)
3709 searchDepth, option:                           See 3.1.      (line  939)
3710 searchTime, option:                            See 3.1.      (line  932)
3711 secondChessProgram, option:                    See 3.1.      (line 1031)
3712 secondComputerString, option:                  See 3.1.      (line 1084)
3713 secondDirectory, option:                       See 3.1.      (line 1052)
3714 secondHasOwnBookUCI, option:                   See 3.2.      (line 1181)
3715 secondHost, option:                            See 3.1.      (line 1044)
3716 secondInitString, option:                      See 3.1.      (line 1061)
3717 secondIsUCI, option:                           See 3.2.      (line 1155)
3718 secondNeedsNoncompliantFEN, option:            See 3.1.      (line 1135)
3719 secondNPS, option:                             See 3.1.      (line  948)
3720 secondOptions, option:                         See 3.1.      (line 1124)
3721 secondProtocolVersion, option:                 See 3.1.      (line 1101)
3722 secondScoreAbs, option:                        See 3.1.      (line 1109)
3723 secondTimeOdds, option:                        See 3.1.      (line  967)
3724 secondXBook, option:                           See 3.2.      (line 1181)
3725 set, ICS command:                              See 4.        (line 2088)
3726 Settings, Engine:                              See 3.2.      (line 1153)
3727 sgf, option:                                   See 3.4.      (line 1508)
3728 sh, option:                                    See 3.1.      (line 1044)
3729 Shortcut keys:                                 See 2.7.      (line  838)
3730 Show Coords, Menu Item:                        See 2.5.      (line  776)
3731 Show Engine Output, Menu Item:                 See 2.2.      (line  339)
3732 Show Game List, Menu Item:                     See 2.2.      (line  330)
3733 Show Move History, Menu Item:                  See 2.2.      (line  334)
3734 showButtonBar, option:                         See 3.5.      (line 1658)
3735 showCoords, option:                            See 3.5.      (line 1628)
3736 showThinking, option:                          See 3.1.      (line  986)
3737 size, option:                                  See 3.5.      (line 1599)
3738 sNoOwnBookUCI, option:                         See 3.2.      (line 1181)
3739 soundChallenge, option:                        See 3.3.      (line 1425)
3740 soundChannel, option:                          See 3.3.      (line 1425)
3741 soundIcsAlarm, option:                         See 3.3.      (line 1433)
3742 soundIcsDraw, option:                          See 3.3.      (line 1444)
3743 soundIcsLoss, option:                          See 3.3.      (line 1440)
3744 soundIcsUnfinished, option:                    See 3.3.      (line 1448)
3745 soundIcsWin, option:                           See 3.3.      (line 1436)
3746 soundKibitz, option:                           See 3.3.      (line 1425)
3747 soundMove, option:                             See 3.3.      (line 1430)
3748 soundProgram, option:                          See 3.3.      (line 1409)
3749 soundRequest, option:                          See 3.3.      (line 1425)
3750 Sounds:                                        See 3.3.      (line 1409)
3751 soundSeek, option:                             See 3.3.      (line 1425)
3752 soundShout, option:                            See 3.3.      (line 1425)
3753 soundSShout, option:                           See 3.3.      (line 1425)
3754 soundTell, option:                             See 3.3.      (line 1425)
3755 spf, option:                                   See 3.4.      (line 1534)
3756 st, option:                                    See 3.1.      (line  932)
3757 Step Menu:                                     See 2.4.      (line  451)
3758 Stop Examining, Menu Item:                     See 2.3.      (line  444)
3759 Stop Observing, Menu Item:                     See 2.3.      (line  440)
3760 sUCI, option:                                  See 3.2.      (line 1155)
3761 tc, option:                                    See 3.1.      (line  909)
3762 td, option:                                    See 3.4.      (line 1502)
3763 telnet, option:                                See 3.3.      (line 1244)
3764 telnetProgram, option:                         See 3.3.      (line 1253)
3765 Test Legality, Menu Item:                      See 2.5.      (line  789)
3766 testClaims, option:                            See 3.6.      (line 1811)
3767 testLegality, option:                          See 3.5.      (line 1595)
3768 thinking, option:                              See 3.1.      (line  986)
3769 Time Control, Menu Item:                       See 2.5.      (line  586)
3770 timeControl, option:                           See 3.1.      (line  909)
3771 timeDelay, option:                             See 3.4.      (line 1502)
3772 timeIncrement, option:                         See 3.1.      (line  918)
3773 timeOddsMode, option:                          See 3.1.      (line  973)
3774 title, option:                                 See 3.5.      (line 1650)
3775 titleInWindow, option:                         See 3.5.      (line 1650)
3776 Training, Menu Item:                           See 2.2.      (line  319)
3777 trivialDraws, option:                          See 3.6.      (line 1824)
3778 Truncate Game, Menu Item:                      See 2.4.      (line  514)
3779 Two Machines, Menu Item:                       See 2.2.      (line  238)
3780 usePolyglotBook, option:                       See 3.2.      (line 1167)
3781 User interface options:                        See 3.5.      (line 1566)
3782 userName, option:                              See 3.7.      (line 1997)
3783 useTelnet, option:                             See 3.3.      (line 1244)
3784 variant, option:                               See 3.7.      (line 1868)
3785 vars, ICS command:                             See 4.        (line 2085)
3786 whitePieceColor, option:                       See 3.5.      (line 1759)
3787 who, ICS command:                              See 4.        (line 2041)
3788 xflash, option:                                See 3.5.      (line 1671)
3789 Table of Contents
3790 *****************
3791
3792 Introduction
3793 1 Major modes
3794 2 Menus, buttons, and keys
3795   2.1 File Menu
3796   2.2 Mode Menu
3797   2.3 Action Menu
3798   2.4 Step Menu
3799   2.5 Options Menu
3800   2.6 Help Menu
3801   2.7 Other Shortcut Keys
3802 3 Options
3803   3.1 Chess Engine Options
3804   3.2 UCI + WB Engine Settings
3805   3.3 ICS options
3806   3.4 Load and Save options
3807   3.5 User interface options
3808   3.6 Adjudication Options
3809   3.7 Other options
3810 4 Chess Servers
3811 5 Firewalls
3812 6 Environment variables
3813 7 Limitations and known bugs
3814 8 Reporting problems
3815 9 Authors and contributors
3816 10 CMail
3817   10.1 CMail options
3818   10.2 Starting a CMail Game
3819   10.3 Answering a Move
3820   10.4 Multi-Game Messages
3821   10.5 Completing a Game
3822   10.6 Known CMail Problems
3823 11 Other programs you can use with XBoard
3824   11.1 GNU Chess
3825   11.2 Fairy-Max
3826   11.3 HoiChess
3827   11.4 Crafty
3828   11.5 zic2xpm
3829 Copyright
3830 GNU GENERAL PUBLIC LICENSE
3831 Index
3832
3833
3834    \r \r
3835