4 INFO-DIR-SECTION Games
\r
6 * xboard: (xboard). An X Window System graphical chessboard.
\r
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
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
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
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
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
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
52 As an interface to electronic mail correspondence chess, XBoard
\r
53 works with the cmail program. See *note CMail:: below for
\r
57 2 Menus, buttons, and keys
58 **************************
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
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
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
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
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")
142 Loads the next game from the last game record file you loaded.
\r
143 The shifted `N' key is a keyboard equivalent.
\r
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
151 Reloads the last game you loaded.
\r Not available if the last game
152 was loaded from a pipe.
\r
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
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
176 Interprets the current X selection as a game record and loads it,
177 as
\r with Load Game.
\r
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
188 Loads the next position from the last position file you loaded.
\r
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
196 Reloads the last position you loaded.
\r Not available if the last
197 position was loaded from a pipe.
\r
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
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
217 Interprets the current X selection as a FEN position and loads it,
218 as
\r with Load Position.
\r
225 Exits from XBoard. The shifted `Q' key is a keyboard equivalent.
\r
232 Tells the chess engine to play White.
\r
235 Tells the chess engine to play Black.
\r
238 Plays a game between two chess engines.
\r
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
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
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
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
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
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
330 Shows or hides the list of games generated by the last `Load
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
339 Shows or hides a window in which the thinking output of any loaded
340 engines
\r is displayed.
\r
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
346 <tag-section> ::= <tag-pair> <tag-section>
\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
356 [White "Robert J. Fischer"]
\r
357 [Black "Bent Larsen"]
\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
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
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
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'
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
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
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
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
427 Asks your opponent to agree to adjourning the current game, or
\r
428 agrees to a pending adjournment offer from your opponent.
\r
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
436 Resigns the game to your opponent. The shifted `R' key is a
\r
437 keyboard equivalent.
\r
440 Ends your participation in observing a game, by issuing the ICS
\r
441 observe command with no arguments. ICS mode only.
\r
444 Ends your participation in examining a game, by issuing the ICS
\r
445 unexamine command. ICS mode only.
\r
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
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
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
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
510 If you are examining an ICS game and Pause mode is off, issues
\r
511 the ICS command `revert'.
\r
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
519 Forces the chess engine to move immediately. Chess engine mode
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
776 If this option is on, XBoard displays algebraic coordinates
\r
777 along the board's left and bottom edges.
\r
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
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
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
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
819 Displays a move hint from the chess engine.
\r
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
832 Shows the current XBoard version number.
\r
835 2.7 Other Shortcut Keys
836 =======================
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
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
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
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
905 3.1 Chess Engine Options
906 ========================
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
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
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
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
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
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
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
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
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:
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
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
995 -ponder/-xponder or -ponderNextMove true/false
996 Sets the Ponder Next Move menu option. *Note Options Menu::.
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
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
1017 -mm/-xmm or -matchMode true/false
1018 Setting `matchMode' to true is equivalent to setting
\r
1019 `matchGames' to 1.
\r
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
1027 -fcp or -firstChessProgram program
1028 Name of first chess engine.
\r Default: `Fairy-Max'.
\r
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:
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
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
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
1060 -secondInitString string
1061 The string that is sent to initialize each chess engine for a new
1062 game.
\r Default:
\r \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
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
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
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
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
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
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
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
1150 3.2 UCI + WB Engine Settings
1151 ============================
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
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
1166 -usePolyglotBook true/false
1167 Specifies if the Polygot book should be used.
\r
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
1291 # configure modem and fire up XBoard
\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
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
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
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
1322 -icsinput/-xicsinput or -internetChessServerInputBox true/false
1323 Sets the ICS Input Box menu option. *Note Mode Menu::. Default:
1326 -autocomm/-xautocomm or -autoComment true/false
1327 Sets the Auto Comment menu option. *Note Options Menu::. Default:
1330 -autoflag/-xautoflag or -autoCallFlag true/false
1331 Sets the Auto Flag menu option. *Note Options Menu::. Default:
1334 -autobs/-xautobs or -autoObserve true/false
1335 Sets the Auto Observe menu option. *Note Options Menu::. Default:
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
1346 -moves/-xmoves or -getMoveList true/false
1347 Sets the Get Move List menu option. *Note Options Menu::.
1350 -alarm/-xalarm or -icsAlarm true/false
1351 Sets the ICS Alarm menu option. *Note Options Menu::. Default:
1355 Sets the time in milliseconds for the ICS Alarm menu option.
\r
1356 *Note Options Menu::. Default: 5000.
\r
1358 -pre/-xpre \fRor\fB -premove true/false
1359 Sets the Premove menu option. *Note Options Menu::. Default:
1362 -quiet/-xquiet or -quietPlay true/false
1363 Sets the Quiet Play menu option. *Note Options Menu::. Default:
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
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
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
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
1417 -soundShout filename
1418 -soundSShout filename
1419 -soundChannel filename
1420 -soundKibitz filename
1422 -soundChallenge filename
1423 -soundRequest 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
1430 This sound is used by the Move Sound menu option. Default: "$".
\r
1432 -soundIcsAlarm filename
1433 This sound is used by the ICS Alarm menu option. Default: "$".
\r
1435 -soundIcsWin filename
1436 This sound is played when you win an ICS game. Default: "" (no
1439 -soundIcsLoss filename
1440 This sound is played when you lose an ICS game. Default: "" (no
1443 -soundIcsDraw filename
1444 This sound is played when you draw an ICS game. Default: "" (no
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
1469 3.4 Load and Save options
1470 =========================
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
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
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
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
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
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
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
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
1543 -pgnEventHeader string
1544 Sets the name used in the PGN event tag to string.
\r Default:
1545 "Computer Chess Game".
\r
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
1551 -oldsave/-xoldsave or -oldSaveStyle true/false
1552 Sets the Old Save Style menu option. *Note Options Menu::.
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
1563 3.5 User interface options
1564 ==========================
1569 These and most other standard Xt options are accepted.
\r
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
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
1582 -exit/-xexit or -popupExitMessage true/false
1583 Sets the Popup Exit Message menu option. *Note Options Menu::.
1586 -popup/-xpopup or -popupMoveErrors true/false
1587 Sets the Popup Move Errors menu option. *Note Options Menu::.
1590 -queen/-xqueen or -alwaysPromoteToQueen true/false
1591 Sets the Always Queen menu option. *Note Options Menu::.
1594 -legal/-xlegal or -testLegality true/false
1595 Sets the Test Legality menu option. *Note Options Menu::.
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
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
1631 -autoraise/-xautoraise or -autoRaiseBoard true/false
1632 Sets the Auto Raise Board menu option. *Note Options Menu::.
1635 -autoflip/-xautoflip or -autoFlipView true/false
1636 Sets the Auto Flip View menu option. *Note Options Menu::.
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
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
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
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
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),
1679 -highlight/-xhighlight or -highlightLastMove true/false
1680 Sets the Highlight Last Move menu option. *Note Options Menu::.
1683 -blind/-xblind or -blindfold true/false
1684 Sets the Blindfold menu option. *Note Options Menu::. Default:
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
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
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
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
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
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
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
1775 -drag/-xdrag or -animateDragging true/false
1776 Sets the Animate Dragging menu option. *Note Options Menu::.
1779 -animate/-xanimate or -animateMoving true/false
1780 Sets the Animate Moving menu option. *Note Options Menu::.
1784 Number of milliseconds delay between each animation frame when
1785 Animate
\r Moves is on.
\r
1788 3.6 Adjudication Options
1789 ========================
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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:
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
1965 -debug/-xdebug or -debugMode true/false
1966 Turns on debugging printout.
\r
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
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
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
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
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
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
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
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
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
2049 to see what games are being played
\r
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
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
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
2082 to get information about the given <player>. (Default: yourself.)
\r
2085 to get a list of personal settings
\r
2088 to modify these settings
\r
2091 to observe an ongoing game of the given <player>.
\r
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
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
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
2195 6 Environment variables
2196 ***********************
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
2204 7 Limitations and known bugs
2205 ****************************
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
2257 8 Reporting problems
2258 ********************
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
2272 mail bug-xboard@gnu.org
\r
2273 Subject: Your short description of the problem
\r
2274 Your detailed description of the problem
\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
2286 9 Authors and contributors
2287 **************************
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
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
2337 Displays `cmail' usage information.
\r
2340 Shows the conditions of the GNU General Public License.
\r *Note
2344 Shows the warranty notice of the GNU General Public License.
\r
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
2355 Invokes or inhibits the sending of a mail message containing the
2360 Invokes or inhibits the running of XBoard on the game file.
\r
2364 Invokes or inhibits the reuse of an existing XBoard to display
2365 the
\r current game.
\r
2368 Resends the last mail message for that game. This inhibits
2372 The name of the game to be processed.
\r
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
2386 A one-word alias for yourself or your opponent.
\r
2391 -oppname <full name>
2392 The full name of White, Black, yourself or your opponent.
\r
2397 -oppna <net address>
2398 The email address of White, Black, yourself or your opponent.
\r
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
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
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
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
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
2428 A file in which to dump verbose debugging messages that are
2429 invoked with
\r the `-v'
\r option.
\r
2432 The PGN Event tag (default `Email correspondence game').
\r
2435 The PGN Site tag (default `NET').
\r
2438 The PGN Round tag (default `-', not applicable).
\r
2441 The PGN Mode tag (default `EM', Electronic Mail).
\r
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
2455 10.2 Starting a CMail Game
2456 ==========================
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
2469 10.3 Answering a Move
2470 =====================
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
2493 10.4 Multi-Game Messages
2494 ========================
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
2503 10.5 Completing a Game
2504 ======================
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
2515 10.6 Known CMail Problems
2516 =========================
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
2530 11 Other programs you can use with XBoard
2531 *****************************************
2533 \r Here are some other programs you can use with XBoard
\r \r \r
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
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
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
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
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
2588 1. Unzip ziics131.exe into a directory:
2590 unzip -L ziics131.exe -d ~/ziics
\r
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
2597 zic2xpm ~/ziics/fritz4.*
\r
2599 3. Give XBoard the "-pixmap" option when starting up, e.g.:
2601 xboard -pixmap ~/fritz4
\r
2602 \r Alternatively, you can add this line to your `.Xresources'
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
2614 Copyright (C) 1991 Digital Equipment Corporation, Maynard,
2617 All Rights Reserved.
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.
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.
2635 Enhancements copyright (C) 1992-2003,2004,2005,2006,2007,2008,2009
2636 Free Software Foundation, Inc.
2638 Published by the Free Software Foundation
2639 59 Temple Place - Suite 330
2640 Boston, MA 02111-1307 USA
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.
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.
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
2659 GNU GENERAL PUBLIC LICENSE
2660 **************************
2662 Version 3, 29 June 2007
2664 Copyright (C) 2007 Free Software Foundation, Inc. `http://fsf.org/'
2666 Everyone is permitted to copy and distribute verbatim copies of this
2667 license document, but changing it is not allowed.
2672 The GNU General Public License is a free, copyleft license for software
2673 and other kinds of works.
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.
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.
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.
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
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.
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.
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
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.
2731 The precise terms and conditions for copying, distribution and
2732 modification follow.
2734 TERMS AND CONDITIONS
2735 ====================
2739 "This License" refers to version 3 of the GNU General Public
2742 "Copyright" also means copyright-like laws that apply to other
2743 kinds of works, such as semiconductor masks.
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.
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.
2754 A "covered work" means either the unmodified Program or a work
2755 based on the Program.
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
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
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
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.
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
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.
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
2818 The Corresponding Source need not include anything that users can
2819 regenerate automatically from other parts of the Corresponding
2822 The Corresponding Source for a work in source code form is that
2825 2. Basic Permissions.
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.
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.
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.
2852 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
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
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.
2868 4. Conveying Verbatim Copies.
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.
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.
2881 5. Conveying Modified Source Versions.
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
2888 a. The work must carry prominent notices stating that you
2889 modified it, and giving a relevant date.
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".
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
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.
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.
2920 6. Conveying Non-Source Forms.
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:
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.
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
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.
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.
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.
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.
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.
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.
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).
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.
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.
3023 7. Additional Terms.
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.
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.
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
3047 a. Disclaiming warranty or limiting liability differently from
3048 the terms of sections 15 and 16 of this License; or
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
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
3059 d. Limiting the use for publicity purposes of names of licensors
3060 or authors of the material; or
3062 e. Declining to grant rights under trademark law for use of some
3063 trade names, trademarks, or service marks; or
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.
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
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.
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.
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).
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.
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.
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.
3119 9. Acceptance Not Required for Having Copies.
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.
3131 10. Automatic Licensing of Downstream Recipients.
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
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.
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
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
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.
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.
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.
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.
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.
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.
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.
3232 12. No Surrender of Others' Freedom.
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
3246 13. Use with the GNU Affero General Public License.
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.
3257 14. Revised Versions of this License.
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
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.
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.
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
3284 15. Disclaimer of Warranty.
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.
3296 16. Limitation of Liability.
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.
3309 17. Interpretation of Sections 15 and 16.
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.
3319 END OF TERMS AND CONDITIONS
3320 ===========================
3322 How to Apply These Terms to Your New Programs
3323 =============================================
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
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.
3335 ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
3336 Copyright (C) YEAR NAME OF AUTHOR
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.
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.
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/'.
3351 Also add information on how to contact you by electronic and paper
3354 If the program does terminal interaction, make it output a short
3355 notice like this when it starts in an interactive mode:
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.
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
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/'.
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
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)
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)
3794 2 Menus, buttons, and keys
3801 2.7 Other Shortcut Keys
3803 3.1 Chess Engine Options
3804 3.2 UCI + WB Engine Settings
3806 3.4 Load and Save options
3807 3.5 User interface options
3808 3.6 Adjudication Options
3812 6 Environment variables
3813 7 Limitations and known bugs
3814 8 Reporting problems
3815 9 Authors and contributors
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
3830 GNU GENERAL PUBLIC LICENSE