3 * xboard: (xboard). An X Window System graphical chessboard.
9 XBoard is a graphical chessboard that can serve as a user interface to
10 chess engines (such as GNU Chess), the Internet Chess Servers,
11 electronic mail correspondence chess, or your own collection of saved
14 This manual documents version 4.5.2 of XBoard.
19 XBoard always runs in one of four major modes. You select the major
20 mode from the command line when you start up XBoard.
23 As an interface to GNU Chess or another chess engine running on
24 your machine, XBoard lets you play a game against the machine, set
25 up arbitrary positions, force variations, watch a game between two
26 chess engines, interactively analyze your stored games or set up
27 and analyze arbitrary positions. (Note: Not all chess engines
30 xboard -ics -icshost hostname [options]
31 As Internet Chess Server (ICS) interface, XBoard lets you play
32 against other ICS users, observe games they are playing, or review
33 games that have recently finished. Most of the ICS "wild" chess
34 variants are supported, including bughouse.
37 XBoard can also be used simply as an electronic chessboard to play
38 through games. It will read and write game files and allow you to
39 play through variations manually. You can use it to browse games
40 off the net or review games you have saved. These features are
41 also available in the other modes.
44 If you want to pipe games into XBoard, use the supplied shell
45 script `pxboard'. For example, from the news reader `xrn', find a
46 message with one or more games in it, click the Save button, and
47 type `|pxboard' as the file name.
50 As an interface to electronic mail correspondence chess, XBoard
51 works with the cmail program. See *note CMail:: below for
57 To move a piece, you can drag it with the left mouse button, or you can
58 click the left mouse button once on the piece, then once more on the
59 destination square. In crazyhouse, bughouse or shogi you can drag and
60 drop pieces to the board from the holdings squares displayed next to
61 the board. Old behavior, where right-clicking a square brings up a menu
62 where you can select what piece to drop on it can still be selected
63 through a command-line option. But only in Edit Position mode right
64 clicking a square is still used to pop up a menu, where you can select
67 The default function of the right mouse button in other modes is to
68 display the position the chess program thinks it will end up in. While
69 moving the mouse vertically with this button pressed XBoard will step
70 through the principal variation to show how this position will be
71 reached. Lines of play displayed in the engine-output window, or PGN
72 variations in the comment window can similarly be played out on the
73 board, by right-clicking on them.
75 When connected to an ICS, it is possible to call up a graphical
76 representation of players seeking a game in stead of the chess board,
77 when the latter is not in use (i.e. when you are not playing or
78 observing). Left-clicking the display area will switch between this
79 'seek graph' and the chess board. Hovering the mouse pointer over a
80 dot will show the details of the seek ad in the message field above the
81 board. Left-clicking the dot will challenge that player.
82 Right-clicking a dot will 'push it to the back', to reveal any dots
83 that were hidden behind it. Right-clicking off dots will refresh the
86 Most other XBoard commands are available from the menu bar. The most
87 frequently used commands also have shortcut keys or on-screen buttons.
88 Some rarely used parameters can only be set through options on the
89 command line used to invoke XBoard.
91 XBoard uses a settings file, in which it can remember any changes to
92 the settings that are made through menus or command-line options, so
93 they will still apply when you restart XBoard for another session. The
94 settings can be saved into this file automatically when XBoard exits,
95 or on explicit request of the user. The default name for the settings
96 file is /etc/xboard/xboard.conf, but in a standard install this file is
97 only used as a master settings file that determines the system-wide
98 default settings, and defers reading and writing of user settings to a
99 user-specific file like ~/.xboardrc in the user's home directory.
101 When XBoard is iconized, its graphical icon is a white knight if it
102 is White's turn to move, a black knight if it is Black's turn. See
103 Iconize in *note Keys:: below if you have problems getting this feature
106 3 Menus, buttons, and keys
107 **************************
113 Resets XBoard and the chess engine to the beginning of a new chess
114 game. The `Ctrl-N' key is a keyboard equivalent. In Internet Chess
115 Server mode, clears the current state of XBoard, then
116 resynchronizes with the ICS by sending a refresh command. If you
117 want to stop playing, observing, or examining an ICS game, use an
118 appropriate command from the Action menu, not `New Game'. *Note
122 Similar to `New Game', but allows you to specify a particular
123 initial position (according to a standardized numbering system) in
124 chess variants which use randomized opening positions (e.g.
125 Chess960). The selected opening position will persistently be
126 chosen on any following New Game command until you use this menu
127 to select another. Selecting position number -1 will produce a
128 newly randomized position on any new game. Using this menu item
129 in variants that normally do not shuffle their opening position
130 does cause these variants to become shuffle variants until you use
131 the `New Shuffle Game' menu to explicitly switch the randomization
132 off, or select a new variant.
135 Allows you to select a new chess variant in non-ICS mode. (In ICS
136 play, the ICS is responsible for deciding which variant will be
137 played, and XBoard adapts automatically.) The shifted `Alt+V' key
138 is a keyboard equivalent. If you play with an engine, the engine
139 must be able to play the selected variant, or the command will be
140 ignored. XBoard supports all major variants, such as xiangqi,
141 shogi, chess, chess960, Capablanca Chess, shatranj, crazyhouse,
142 bughouse. But not every board size has built-in bitmaps for
143 un-orthodox pieces! Only sizes bulky (72) and middling (49) have
144 all pieces, while size petite (33) has most. These sizes would
145 have to be set at startup through the `size' command-line option
146 when you start up XBoard for such variants to be playable.
148 You can overrule the default board format of the selected variant,
149 (e.g. to play suicide chess on a 6 x 6 board), in this dialog, but
150 normally you would not do that, and leave them at '-1', which
154 Plays a game from a record file. The `Ctrl-O' key is a keyboard
155 equivalent. A pop-up dialog prompts you for the file name. If the
156 file contains more than one game, a second pop-up dialog displays
157 a list of games (with information drawn from their PGN tags, if
158 any), and you can select the one you want. Alternatively, you can
159 load the Nth game in the file directly, by typing the number `N'
160 after the file name, separated by a space.
162 The game file parser will accept PGN (portable game notation), or
163 in fact almost any file that contains moves in algebraic notation.
164 Notation of the form `P@f7' is accepted for piece-drops in
165 bughouse games; this is a nonstandard extension to PGN. If the
166 file includes a PGN position (FEN tag), or an old-style XBoard
167 position diagram bracketed by `[--' and `--]' before the first
168 move, the game starts from that position. Text enclosed in
169 parentheses, square brackets, or curly braces is assumed to be
170 commentary and is displayed in a pop-up window. Any other text in
171 the file is ignored. PGN variations (enclosed in parentheses) also
172 are treated as comments; however, if you rights-click them in the
173 comment window, XBoard will shelve the current line, and load the
174 the selected variation, so you can step through it. You can later
175 revert to the previous line with the `Revert' command. This way
176 you can walk quite complex varation trees with XBoard. The
177 nonstandard PGN tag [Variant "varname"] functions similarly to the
178 -variant command-line option (see below), allowing games in
179 certain chess variants to be loaded. Note that it must appear
180 before any FEN tag for XBoard to recognize variant FENs
181 appropriately. There is also a heuristic to recognize chess
182 variants from the Event tag, by looking for the strings that the
183 Internet Chess Servers put there when saving variant ("wild")
187 Sets up a position from a position file. A pop-up dialog prompts
188 you for the file name. The shifted `Ctrl-O' key is a keyboard
189 equivalent. If the file contains more than one saved position, and
190 you want to load the Nth one, type the number N after the file
191 name, separated by a space. Position files must be in FEN
192 (Forsythe-Edwards notation), or in the format that the Save
193 Position command writes when oldSaveStyle is turned on.
196 Loads the next position from the last position file you loaded.
197 The shifted `PgDn' key is a keyboard equivalent.
199 Load Previous Position
200 Loads the previous position from the last position file you
201 loaded. The shifted `PgUp' key is a keyboard equivalent. Not
202 available if the last position was loaded from a pipe.
205 Appends a record of the current game to a file. The `Ctrl-S' key
206 is a keyboard equivalent. A pop-up dialog prompts you for the
207 file name. If the game did not begin with the standard starting
208 position, the game file includes the starting position used. Games
209 are saved in the PGN (portable game notation) format, unless the
210 oldSaveStyle option is true, in which case they are saved in an
211 older format that is specific to XBoard. Both formats are
212 human-readable, and both can be read back by the `Load Game'
213 command. Notation of the form `P@f7' is accepted for piece-drops
214 in bughouse games; this is a nonstandard extension to PGN.
217 Appends a diagram of the current position to a file. The shifted
218 `Ctrl+S' key is a keyboard equivalent. A pop-up dialog prompts
219 you for the file name. Positions are saved in FEN
220 (Forsythe-Edwards notation) format unless the `oldSaveStyle'
221 option is true, in which case they are saved in an older,
222 human-readable format that is specific to XBoard. Both formats can
223 be read back by the `Load Position' command.
230 Exits from XBoard. The `Ctrl-Q' key is a keyboard equivalent.
236 Copies a record of the current game to an internal clipboard in PGN
237 format and sets the X selection to the game text. The `Ctrl-C' key
238 is a keyboard equivalent. The game can be pasted to another
239 application (such as a text editor or another copy of XBoard)
240 using that application's paste command. In many X applications,
241 such as xterm and emacs, the middle mouse button can be used for
242 pasting; in XBoard, you must use the Paste Game command.
245 Copies the current position to an internal clipboard in FEN format
246 and sets the X selection to the position text. The shifted
247 `Ctrl-C' key is a keyboard equivalent. The position can be pasted
248 to another application (such as a text editor or another copy of
249 XBoard) using that application's paste command. In many X
250 applications, such as xterm and emacs, the middle mouse button can
251 be used for pasting; in XBoard, you must use the Paste Position
255 Interprets the current X selection as a game record and loads it,
256 as with Load Game. The `Ctrl-V' key is a keyboard equivalent.
259 Interprets the current X selection as a FEN position and loads it,
260 as with Load Position. The shifted `Ctrl-V' key is a keyboard
264 Allows you to make moves for both Black and White, and to change
265 moves after backing up with the `Backward' command. The clocks do
266 not run. The `Ctrl-E' key is a keyboard equivalent.
268 In chess engine mode, the chess engine continues to check moves
269 for legality but does not participate in the game. You can bring
270 the chess engine into the game by selecting `Machine White',
271 `Machine Black', or `Two Machines'.
273 In ICS mode, the moves are not sent to the ICS: `Edit Game' takes
274 XBoard out of ICS Client mode and lets you edit games locally. If
275 you want to edit games on ICS in a way that other ICS users can
276 see, use the ICS `examine' command or start an ICS match against
280 Lets you set up an arbitrary board position. The shifted `Ctrl-E'
281 key is a keyboard equivalent. Use mouse button 1 to drag pieces
282 to new squares, or to delete a piece by dragging it off the board
283 or dragging an empty square on top of it. To drop a new piece on
284 a square, press mouse button 2 or 3 over the square. This brings
285 up a menu of white pieces (button 2) or black pieces (button 3).
286 Additional menu choices let you empty the square or clear the
287 board. You can set the side to play next by clicking on the word
288 White or Black at the top of the screen. Selecting `Edit
289 Position' causes XBoard to discard all remembered moves in the
292 In ICS mode, changes made to the position by `Edit Position' are
293 not sent to the ICS: `Edit Position' takes XBoard out of `ICS
294 Client' mode and lets you edit positions locally. If you want to
295 edit positions on ICS in a way that other ICS users can see, use
296 the ICS `examine' command, or start an ICS match against yourself.
297 (See also the ICS Client topic above.)
300 Lets you edit the PGN (portable game notation) tags for the
301 current game. After editing, the tags must still conform to the
304 <tag-section> ::= <tag-pair> <tag-section>
306 <tag-pair> ::= [ <tag-name> <tag-value> ]
307 <tag-name> ::= <identifier>
308 <tag-value> ::= <string>
309 See the PGN Standard for full details. Here is an example:
311 [Event "Portoroz Interzonal"]
312 [Site "Portoroz, Yugoslavia"]
315 [White "Robert J. Fischer"]
316 [Black "Bent Larsen"]
318 Any characters that do not match this syntax are silently ignored.
319 Note that the PGN standard requires all games to have at least the
320 seven tags shown above. Any that you omit will be filled in by
321 XBoard with `?' (unknown value), or `-' (inapplicable value).
324 Adds or modifies a comment on the current position. Comments are
325 saved by `Save Game' and are displayed by `Load Game', `Forward',
330 If you are examining an ICS game and Pause mode is off, Revert
331 issues the ICS command `revert'. In local mode, when you were
332 editing or analyzing a game, and the `-variations' command-line
333 option is switched on, you can start a new variation by holding
334 the Shift key down while entering a move not at the end of the
335 game. Variations can also become the currently displayed line by
336 clicking a PGN variation displayed in the Comment window. This
337 can be applied recursively, so that you can analyze variations on
338 variations; each time you create a new variation by entering an
339 alternative move with Shift pressed, or select a new one from the
340 Comment window, the current variation will be shelved. `Revert'
341 allows you to return to the most recently shelved variation. The
342 difference between `Revert' and `Annotate' is that with the latter,
343 the variation you are now abandoning will be added as a comment
344 (in PGN variation syntax, i.e. between parentheses) to the
345 original move where you deviated, for later recalling. The `Home'
346 key is a keyboard equivalent to `Revert'.
349 Discards all remembered moves of the game beyond the current
350 position. Puts XBoard into `Edit Game' mode if it was not there
351 already. The `End' key is a keyboard equivalent.
354 Steps backward through a series of remembered moves. The `[<]'
355 button and the `Alt+LeftArrow' key are equivalents, as is turning
356 the mouse wheel towards you. In addition, pressing the Control
357 key steps back one move, and releasing it steps forward again.
359 In most modes, `Backward' only lets you look back at old positions;
360 it does not retract moves. This is the case if you are playing
361 against a chess engine, playing or observing a game on an ICS, or
362 loading a game. If you select `Backward' in any of these
363 situations, you will not be allowed to make a different move. Use
364 `Retract Move' or `Edit Game' if you want to change past moves.
366 If you are examining an ICS game, the behavior of `Backward'
367 depends on whether XBoard is in Pause mode. If Pause mode is off,
368 `Backward' issues the ICS backward command, which backs up
369 everyone's view of the game and allows you to make a different
370 move. If Pause mode is on, `Backward' only backs up your local
374 Steps forward through a series of remembered moves (undoing the
375 effect of `Backward') or forward through a game file. The `[>]'
376 button and the `Alt+RightArrow' key are equivalents, as is turning
377 the mouse wheel away from you.
379 If you are examining an ICS game, the behavior of Forward depends
380 on whether XBoard is in Pause mode. If Pause mode is off,
381 `Forward' issues the ICS forward command, which moves everyone's
382 view of the game forward along the current line. If Pause mode is
383 on, `Forward' only moves your local view forward, and it will not
384 go past the position that the game was in when you paused.
387 Jumps backward to the first remembered position in the game. The
388 `[<<]' button and the `Alt+Home' key are equivalents.
390 In most modes, Back to Start only lets you look back at old
391 positions; it does not retract moves. This is the case if you are
392 playing against a local chess engine, playing or observing a game
393 on a chess server, or loading a game. If you select `Back to
394 Start' in any of these situations, you will not be allowed to make
395 different moves. Use `Retract Move' or `Edit Game' if you want to
396 change past moves; or use Reset to start a new game.
398 If you are examining an ICS game, the behavior of `Back to Start'
399 depends on whether XBoard is in Pause mode. If Pause mode is off,
400 `Back to Start' issues the ICS `backward 999999' command, which
401 backs up everyone's view of the game to the start and allows you
402 to make different moves. If Pause mode is on, `Back to Start' only
403 backs up your local view.
406 Jumps forward to the last remembered position in the game. The
407 `[>>]' button and the `Alt+End' key are equivalents.
409 If you are examining an ICS game, the behavior of `Forward to End'
410 depends on whether XBoard is in Pause mode. If Pause mode is off,
411 `Forward to End' issues the ICS `forward 999999' command, which
412 moves everyone's view of the game forward to the end of the
413 current line. If Pause mode is on, `Forward to End' only moves
414 your local view forward, and it will not go past the position that
415 the game was in when you paused.
421 Inverts your view of the chess board for the duration of the
422 current game. Starting a new game returns the board to normal.
423 The `F2' key is a keyboard equivalent.
426 Shows or hides a window in which the thinking output of any loaded
427 engines is displayed. The shifted `Alt+O' key is a keyboard
428 equivalent. XBoard will display lines of thinking output of the
429 same depth ordered by score, (highest score on top), rather than
430 in the order the engine produced them. Usually this amounts to
431 the same, as a normal engine search will only find new PV (and
432 emit it as thinking output) when it searches a move with a higher
433 score than the previous variation. But when the engine is in
434 multi-variation mode this needs not always be true, and it is more
435 convenient for someone analyzing games to see the moves sorted by
436 score. The order in which the engine found them is only of
437 interest to the engine author, and can still be deduced from the
438 time or node count printed with the line.
441 Shows or hides a list of moves of the current game. The shifted
442 `Alt+H' key is a keyboard equivalent. This list allows you to
443 move the display to any earlier position in the game by clicking
444 on the corresponding move.
446 Show Evaluation Graph
447 Shows or hides a window which displays a graph of how the engine
448 score(s) evolved as a function of the move number. The shifted
449 `Alt+E' key is a keyboard equivalent. Clicking on the graph will
450 bring the corresponding position in the board display.
453 Shows or hides the list of games generated by the last `Load Game'
454 command. The shifted `Alt+G' key is a keyboard equivalent.
457 Pops up a window which shows the PGN (portable game notation) tags
458 for the current game. For now this is a duplicate of the `Edit
459 Tags' item in the `Edit' menu.
462 Pops up a window which shows any comments to or variations on the
463 current move. For now this is a duplicate of the `Edit Comment'
464 item in the `Edit' menu.
467 If this option is set in ICS mode, XBoard creates an extra window
468 that you can use for typing in ICS commands. The input box is
469 especially useful if you want to type in something long or do some
470 editing on your input, because output from ICS doesn't get mixed
471 in with your typing as it would in the main terminal window.
474 Summons a dialog where you can customize the look of the chess
475 board. Here you can specify the directory from which piece images
476 should be taken, when you don't want to use the built-in piece
477 images (see `pixmapDirectory' and `bitmapDirectory' options), an
478 external pixmap to be used for the board squares
479 (`liteBackTextureFile' and `darkBackTextureFile' options), and
480 square and piece colors for the built-ins.
483 a duplicate of the Game List dialog in the Options menu.
489 Tells the chess engine to play White. The `Ctrl-W' key is a
493 Tells the chess engine to play Black. The `Ctrl-B' key is a
497 Plays a game between two chess engines. The `Ctrl-T' key is a
501 XBoard tells the chess engine to start analyzing the current
502 game/position and shows you the analysis as you move pieces around.
503 The `Ctrl-A' key is a keyboard equivalent. Note: Some chess
504 engines do not support Analysis mode.
506 To set up a position to analyze, you do the following:
508 1. Select Edit Position from the Mode Menu
510 2. Set up the position. Use the middle and right buttons to bring
511 up the white and black piece menus.
513 3. When you are finished, click on either the Black or White clock
514 to tell XBoard which side moves first.
516 4. Select Analysis Mode from the Mode Menu to start the analysis.
518 The analysis function can also be used when observing games on an
519 ICS with an engine loaded (zippy mode); the engine then will
520 analyse the positions as they occur in the observed game.
523 This option lets you load a game from a file (PGN, XBoard format,
524 etc.) and analyze it. The `Ctrl-F' key is a keyboard equivalent.
525 When you select this menu item, a pop-up window appears and asks
526 for a file name to load. If the file contains multiple games,
527 another pop up appears that lets you select which game you wish to
528 analyze. After a game is loaded, XBoard will start auto-playing
529 the game, while the engine is analyzing the current position. The
530 game will be annotated with the results of these analyses. In
531 particlar, the score and depth will be added as a comment, and the
532 PV will be added as a variation. The time the engine spends on
533 analyzing each move can be controlled through the command-line
534 option `-timeDelay'. Note: Some chess engines do not support
538 Duplicate of the item in the Edit menu. Note that `Edit Game' is
539 the idle mode of XBoard, and can be used to get you out of other
540 modes. E.g. to stop analyzing, stop a game between two engines or
541 stop editing a position.
544 Duplicate of the item in the Edit menu.
547 Training mode lets you interactively guess the moves of a game for
548 one of the players. You guess the next move of the game by playing
549 the move on the board. If the move played matches the next move of
550 the game, the move is accepted and the opponent's response is
551 auto-played. If the move played is incorrect, an error message is
552 displayed. You can select this mode only while loading a game
553 (that is, after selecting `Load Game' from the File menu). While
554 XBoard is in `Training' mode, the navigation buttons are disabled.
557 This is the normal mode when XBoard is connected to a chess
558 server. If you have moved into Edit Game or Edit Position mode,
559 you can select this option to get out.
561 To use xboard in ICS mode, run it in the foreground with the -ics
562 option, and use the terminal you started it from to type commands
563 and receive text responses from the chess server. See *note Chess
564 Servers:: below for more information.
566 XBoard activates some special position/game editing features when
567 you use the `examine' or `bsetup' commands on ICS and you have
568 `ICS Client' selected on the Mode menu. First, you can issue the
569 ICS position-editing commands with the mouse. Move pieces by
570 dragging with mouse button 1. To drop a new piece on a square,
571 press mouse button 2 or 3 over the square. This brings up a menu
572 of white pieces (button 2) or black pieces (button 3). Additional
573 menu choices let you empty the square or clear the board. Click
574 on the White or Black clock to set the side to play. You cannot
575 set the side to play or drag pieces to arbitrary squares while
576 examining on ICC, but you can do so in `bsetup' mode on FICS. In
577 addition, the menu commands `Forward', `Backward', `Pause', and
578 `Stop Examining' have special functions in this mode; see below.
581 Starts a match between two chess programs, with a number of games
582 and other parameters set through the `Match Options' menu dialog.
585 Pauses updates to the board, and if you are playing against a
586 chess engine, also pauses your clock. To continue, select `Pause'
587 again, and the display will automatically update to the latest
588 position. The `P' button and keyboard `Pause' key are equivalents.
590 If you select Pause when you are playing against a chess engine and
591 it is not your move, the chess engine's clock will continue to run
592 and it will eventually make a move, at which point both clocks
593 will stop. Since board updates are paused, however, you will not
594 see the move until you exit from Pause mode (or select Forward).
595 This behavior is meant to simulate adjournment with a sealed move.
597 If you select Pause while you are observing or examining a game on
598 a chess server, you can step backward and forward in the current
599 history of the examined game without affecting the other observers
600 and examiners, and without having your display jump forward to the
601 latest position each time a move is made. Select Pause again to
602 reconnect yourself to the current state of the game on ICS.
604 If you select `Pause' while you are loading a game, the game stops
605 loading. You can load more moves manually by selecting `Forward',
606 or resume automatic loading by selecting `Pause' again.
612 Accepts a pending match offer. The `F3' key is a keyboard
613 equivalent. If there is more than one offer pending, you will
614 have to type in a more specific command instead of using this menu
618 Declines a pending offer (match, draw, adjourn, etc.). The `F4'
619 key is a keyboard equivalent. If there is more than one offer
620 pending, you will have to type in a more specific command instead
621 of using this menu choice.
624 Calls your opponent's flag, claiming a win on time, or claiming a
625 draw if you are both out of time. The `F5' key is a keyboard
626 equivalent. You can also call your opponent's flag by clicking on
630 Offers a draw to your opponent, accepts a pending draw offer from
631 your opponent, or claims a draw by repetition or the 50-move rule,
632 as appropriate. The `F6' key is a keyboard equivalent.
635 Asks your opponent to agree to adjourning the current game, or
636 agrees to a pending adjournment offer from your opponent. The
637 `F7' key is a keyboard equivalent.
640 Asks your opponent to agree to aborting the current game, or
641 agrees to a pending abort offer from your opponent. The `F8' key
642 is a keyboard equivalent. An aborted game ends immediately without
643 affecting either player's rating.
646 Resigns the game to your opponent. The `F9' key is a keyboard
650 Ends your participation in observing a game, by issuing the ICS
651 observe command with no arguments. ICS mode only. The `F10' key
652 is a keyboard equivalent.
655 Ends your participation in examining a game, by issuing the ICS
656 unexamine command. ICS mode only. The `F11' key is a keyboard
660 Create an examined game of the proper variant on the ICS, and send
661 the game there that is currenty loaded in XBoard (e.g. through
662 pasting or loading from file). You must be connected to an ICS
668 Terminate an ongoing game in Two-Machines mode (including match
669 mode), with as result a win for white, for black, or a draw,
670 respectively. The PGN file of the game will accompany the result
671 string by the comment "user adjudication".
677 Pop up a menu dialog to alter the settings specific to the
678 applicable engine. (The second engine is only accessible once it
679 has been used in Two-Machines mode.) For each parameter the
680 engine allows to be set, a control element will appear in this
681 dialog that can be used to alter the value. Depending on the type
682 of parameter (text string, number, multiple choice, on/off switch,
683 instantaneous signal) the appropriate control will appear, with a
684 description next to it. XBoard has no idea what these values
685 mean; it just passes them on to the engine. How this dialog looks
686 is completely determined by the engine, and XBoard just passes it
687 on to the user. Many engines do not have any parameters that can
688 be set by the user, and in that case the dialog will be empty
689 (except for the OK and cancel buttons). UCI engines usually have
690 many parameters. (But these are only visible with a sufficiently
691 modern version of the Polyglot adapter needed to run UCI engines,
692 e.g. Polyglot 1.4.55b.) For native XBoard engines this is less
696 Displays a move hint from the chess engine.
699 Displays a list of possible moves from the chess engine's opening
700 book. The exact format depends on what chess engine you are using.
701 With GNU Chess 4, the first column gives moves, the second column
702 gives one possible response for each move, and the third column
703 shows the number of lines in the book that include the move from
704 the first column. If you select this option and nothing happens,
705 the chess engine is out of its book or does not support this
709 Forces the chess engine to move immediately. Chess engine mode
710 only. The `Ctrl-M' key is a keyboard equivalent.
713 Retracts your last move. In chess engine mode, you can do this only
714 after the chess engine has replied to your move; if the chess
715 engine is still thinking, use `Move Now' first. In ICS mode,
716 `Retract Move' issues the command `takeback 1' or `takeback 2'
717 depending on whether it is your opponent's move or yours. The
718 `Ctrl-X' key is a keyboard equivalent.
724 Pops up a sub-menu where you can set the time-control parameters
725 interactively. Allows you to select classical or incremental time
726 controls, set the moves per session, session duration, and time
727 increment. Also allows specification of time-odds factors for one
728 or both engines. If an engine is given a time-odds factor N, all
729 time quota it gets, be it at the beginning of a session or through
730 the time increment or fixed time per move, will be divided by N.
731 The shifted `Alt+T' key is a keyboard equivalent.
734 Pops up a sub-menu where you can set some engine parameters common
735 to most engines, such as hash-table size, tablebase cache size,
736 maximum number of processors that SMP engines can use, and where
737 to find the Polyglot adapter needed to run UCI engines under
738 XBoard. The feature that allows setting of these parameters on
739 engines is new since XBoard 4.3.15, so not many XBoard/WinBoard
740 engines respond to it yet, but UCI engines should.
742 It is also possible to specify a GUI opening book here, i.e. an
743 opening book that XBoard consults for any position a playing
744 engine gets in. It then forces the engine to play the book move,
745 rather than to think up its own, if that position is found in the
746 book. The book can switched on and off independently for either
747 engine. The way book moves are chosen can be influenced through
748 the settings of book depth and variety. After both sides have
749 played more moves than the specified depth, the book will no
750 longer be consulted. When the variety is set to 50, moves will be
751 played with the probability specified in the book. When set to 0,
752 only the move(s) with the highest probability will be played.
753 When set to 100, all listed moves will be played with equal
754 pobability. Other settings interpolate between that. The shifted
755 `Alt+U' key is a keyboard equivalent.
758 Pops up a sub-menu where you can enable or disable various
759 adjudications that XBoard can perform in engine-engine games. The
760 shifted `Alt+J' key is a keyboard equivalent. You can instruct
761 XBoard to detect and terminate the game on checkmate or stalemate,
762 even if the engines would not do so, to verify engine result
763 claims (forfeiting engines that make false claims), rather than
764 naively following the engine, to declare draw on positions which
765 can never be won for lack of mating material, (e.g. KBK), or which
766 are impossible to win unless the opponent seeks its own demise
767 (e.g. KBKN). For these adjudications to work, `Test Legality'
768 should be switched on. It is also possible to instruct XBoard to
769 enforce a 50-move or 3-fold-repeat rule and automatically declare
770 draw (after a user-adjustable number of moves or repeats) even if
771 the engines are prepared to go on. It is also possible to have
772 XBoard declare draw on games that seem to drag on forever, or
773 adjudicate a loss if both engines agree (for 3 consecutive moves)
774 that one of them is behind more than a user-adjustable score
775 threshold. For the latter adjudication to work, XBoard should be
776 able to properly understand the engine's scores. To facilitate the
777 latter, you can inform xboard here if the engines report scores
778 from the viewpoint of white, or from that of their own color.
781 Summons a dialog where you can set options important for playing
782 automatic matches between two chess programs (e.g. by using the
783 `Machine Match' menu item in the `Mode' menu). You can specify
784 the number of games such a match should last, and the duration of
785 the pause between games (important for some older engines to not
786 have the last move of a previous game be given when the next game
787 has already started). You can also specify a file with opening
788 lines, or a file with initial positions (the `loadGameFile' and
789 `loadPositionFile' options), and the number of the game or
790 position to use from these files. Values -1 and -2 of this
791 'index' convey a special meaning, namely that XBoard should
792 automatically step through all lines or positions in these files.
793 With -1 such stepping is done every game; with -2 every two games,
794 so that each line or position is played with both colors before
795 stepping to the next one. You can have XBoard automatically
796 rewind to the first line or position in the file after the index
797 reaches a certain vaue, which you can also specify here.
800 Summons a dialog where you can set the `autoDisplayComment' and
801 `autoDisplayTags' options, (which control popups when viewing
802 loaded games), and specify the rate at which loaded games are
803 auto-played, in seconds per move (which can be a fractional
807 Summons a dialog where you can specify the files on which XBoard
808 should automtically save any played or entered games, (the
809 `saveGameFile' option), or the final position of such games (the
810 `savePositionfile' option). You can also select 'auto-save'
811 without a file name, in which case XBoard will prompt the user for
812 a file name after each game. You can also set the default value
813 for the PGN Event tag that will be used for each new game you
814 start. Various options for the format of the game can be
815 specified as well, such as whether scores and depths of engine
816 games should be saved as comments, and if a tag with info about
817 the score with which the engine came out of book should be
818 included. For Chess, always set the format to PGN, rather than
822 Pops up a dialog where you can select the PGN tags that should
823 appear on the lines in the game list, and their order.
826 Summons a dialog where you can specify the sounds that should
827 accompany various events that can occur XBoard. Most events are
828 only relevant to ICS play, but the move sound is an important
829 exception. For each event listed in the dialog, you can select a
830 standard sound from a menu. You can also select a user-supplied
831 sound file, by typing its name into the designated text-edit field
832 first, and then selecting "Above WAV File" from the menu for the
833 event. A dummy event has been provided for trying out the sounds
834 with the "play" button next to it. The directory with standard
835 sounds, and the external program for playing the sounds can be
836 specified too, but normally you would not touch these once XBoard
837 is properly installed.
840 When a move sound other than 'None' is selected, XBoard alerts you
841 by playing a sound after each of your opponent's moves (or after
842 every move if you are observing a game on the Internet Chess
843 Server). The sound is not played after moves you make or moves
844 read from a saved game file. If you turn on this option when
845 using XBoard with the Internet Chess Server, you will probably
846 want to give the `set bell 0' command to the ICS, since otherwise
847 the ICS will ring the terminal bell after every move (not just
848 yours). (The `.icsrc' file is a good place for this; see *note ICS
852 The following items to set option values appear in the dialog
853 summoned by the general Options menu item.
856 If this option is off, XBoard brings up a dialog box whenever you
857 move a pawn to the last rank, asking what piece you want to
858 promote it to. If the option is true, your pawns are always
859 promoted to queens. Your opponent can still under-promote. The
860 shifted `Ctrl-Q' key is a keyboard equivalent.
863 If Animate Dragging is on, while you are dragging a piece with the
864 mouse, an image of the piece follows the mouse cursor. If Animate
865 Dragging is off, there is no visual feedback while you are
866 dragging a piece, but if Animate Moving is on, the move will be
867 animated when it is complete.
870 If Animate Moving is on, all piece moves are animated. An image
871 of the piece is shown moving from the old square to the new square
872 when the move is completed (unless the move was already animated
873 by Animate Dragging). If Animate Moving is off, a moved piece
874 instantly disappears from its old square and reappears on its new
875 square when the move is complete. The shifted `Ctrl-A' key is a
879 If this option is on and one player runs out of time before the
880 other, XBoard will automatically call his flag, claiming a win on
881 time. The shifted `Ctrl-F' key is a keyboard equivalent. In ICS
882 mode, Auto Flag will only call your opponent's flag, not yours,
883 and the ICS may award you a draw instead of a win if you have
884 insufficient mating material. In local chess engine mode, XBoard
885 may call either player's flag and will not take material into
889 If the Auto Flip View option is on when you start a game, the board
890 will be automatically oriented so that your pawns move from the
891 bottom of the window towards the top.
893 If you are playing a game on an ICS, the board is always oriented
894 at the start of the game so that your pawns move from the bottom
895 of the window towards the top. Otherwise, the starting orientation
896 is determined by the `flipView' command line option; if it is
897 false (the default), White's pawns move from bottom to top at the
898 start of each game; if it is true, Black's pawns move from bottom
899 to top. *Note User interface options::.
902 If this option is on, XBoard displays the board as usual but does
903 not display pieces or move highlights. You can still move in the
904 usual way (with the mouse or by typing moves in ICS mode), even
905 though the pieces are invisible.
908 Controls if right-clicking the board in crazyhouse / bughouse will
909 pop up a menu to drop a piece on the clicked square (old,
910 deprecated behavior) or allow you to step through an engine PV
911 (new, recommended behavior).
914 If Highlight Dragging is on, and the option -showTargetSquares is
915 also on in the settings file, all squares a piece that is 'picked
916 up' with the mouse can legally move to are highighted with a fat
917 colored dot in the highlightColor (non-captures) or
918 premoveHighlightColor (captures). Legality testing must be on for
919 XBoard to know how the piece moves.
922 If Highlight Last Move is on, after a move is made, the starting
923 and ending squares remain highlighted. In addition, after you use
924 Backward or Back to Start, the starting and ending squares of the
925 last move to be unmade are highlighted.
928 Causes the highlighting described in Highlight Last Move to be done
929 by drawing an arrow between the highlighted squares, so that it is
930 visible even when the width of the grid lines is set to zero.
933 If this option is on, XBoard does not wait for you to click both
934 the from- and the to-square, or drag the piece, but performs a
935 move as soon as it is uniqely specified. This applies to clicking
936 an own piece that only has a single legal move, clicking an empty
937 square or opponent piece where only one of your pieces can move
938 (or capture) to. Furthermore, a double-click on a piece that can
939 only make a single capture will cause that capture to be made.
940 Promoting a Pawn by clicking its to-square will suppress the
941 promotion popup, and make it promote to Queen.
944 If this option is off (or if you are using a chess engine that
945 does not support periodic updates), the analysis window will only
946 be updated when the analysis changes. If this option is on, the
947 Analysis Window will be updated every two seconds.
950 If this option is off, the chess engine will think only when it is
951 on move. If the option is on, the engine will also think while
952 waiting for you to make your move. The shifted `Ctrl-P' key is a
956 If this option is on, when XBoard wants to display a message just
957 before exiting, it brings up a modal dialog box and waits for you
958 to click OK before exiting. If the option is off, XBoard prints
959 the message to standard error (the terminal) and exits immediately.
962 If this option is off, when you make an error in moving (such as
963 attempting an illegal move or moving the wrong color piece), the
964 error message is displayed in the message area. If the option is
965 on, move errors are displayed in small pop-up windows like other
966 errors. You can dismiss an error pop-up either by clicking its OK
967 button or by clicking anywhere on the board, including
968 down-clicking to start a move.
971 If this option is on, XBoard displays algebraic coordinates along
972 the board's left and bottom edges.
975 If this option is off, the chess engine's notion of the score and
976 best line of play from the current position is displayed as it is
977 thinking. The score indicates how many pawns ahead (or if negative,
978 behind) the chess engine thinks it is. In matches between two
979 machines, the score is prefixed by `W' or `B' to indicate whether
980 it is showing White's thinking or Black's, and only the thinking
981 of the engine that is on move is shown. The shifted `Ctrl-H' key
982 is a keyboard equivalent.
985 If this option is on, XBoard tests whether the moves you try to
986 make with the mouse are legal and refuses to let you make an
987 illegal move. The shifted `Ctrl-L' key is a keyboard equivalent.
988 Moves loaded from a file with `Load Game' are also checked. If
989 the option is off, all moves are accepted, but if a local chess
990 engine or the ICS is active, they will still reject illegal moves.
991 Turning off this option is useful if you are playing a chess
992 variant with rules that XBoard does not understand. (Bughouse,
993 suicide, and wild variants where the king may castle after
994 starting on the d file are generally supported with Test Legality
999 If this option is non-zero, whenever a move is completed, the
1000 moved piece flashes the specified number of times. The flash-rate
1001 setting determines how rapidly this flashing occurs.
1004 Determines the duration (in msec) of an animation step, when
1005 `Animate Moving' is swiched on.
1008 The following options occur in a dialog summoned by the ICS
1012 Setting this option when playingwith or aginst a chess program on
1013 an ICS will cause the last line of thinking output of the engine
1014 before its move to be sent to the ICS in a kibitz command. In
1015 addition, any kibitz message received through the ICS from an
1016 opponent chess program will be diverted to the engine-output
1017 window, (and suppressed in the console), where you can play
1018 through its PV by right-clicking it.
1021 If this option is on, any remarks made on ICS while you are
1022 observing or playing a game are recorded as a comment on the
1023 current move. This includes remarks made with the ICS commands
1024 `say', `tell', `whisper', and `kibitz'. Limitation: remarks that
1025 you type yourself are not recognized; XBoard scans only the output
1026 from ICS, not the input you type to it.
1029 If this option is on and you add a player to your `gnotify' list
1030 on ICS, XBoard will automatically observe all of that player's
1031 games, unless you are doing something else (such as observing or
1032 playing a game of your own) when one starts. The games are
1033 displayed from the point of view of the player on your gnotify
1034 list; that is, his pawns move from the bottom of the window
1035 towards the top. Exceptions: If both players in a game are on
1036 your gnotify list, if your ICS `highlight' variable is set to 0,
1037 or if the ICS you are using does not properly support observing
1038 from Black's point of view, you will see the game from White's
1042 If this option is on, whenever a new game begins, the chessboard
1043 window is deiconized (if necessary) and raised to the top of the
1047 If this option is true, at the end of every game XBoard prompts
1048 you for a file name and appends a record of the game to the file
1049 you specify. Disabled if the `saveGameFile' command-line option
1050 is set, as in that case all games are saved to the specified file.
1051 *Note Load and Save options::.
1054 Setting this option will make XBoard suppress display of any boards
1055 from observed games while you are playing. In stead the last such
1056 board will be remembered, and shown to you when you right-click
1057 the board. This allows you to peek at your bughouse partner's
1058 game when you want, without disturbing your own game too much.
1061 Setting this option in combination with `Background Observe' will
1062 display boards of observed games while you are playing on a second
1063 board next to that of your own game.
1066 If this option is on, whenever XBoard receives the first board of
1067 a new ICS game (or a different game from the one it is currently
1068 displaying), it retrieves the list of past moves from the ICS.
1069 You can then review the moves with the `Forward' and `Backward'
1070 commands or save them with `Save Game'. You might want to turn
1071 off this option if you are observing several blitz games at once,
1072 to keep from wasting time and network bandwidth fetching the move
1073 lists over and over. When you turn this option on from the menu,
1074 XBoard immediately fetches the move list of the current game (if
1078 If this option is on, XBoard will automatically issue an ICS `set
1079 shout 0' command whenever you start a game and a `set shout 1'
1080 command whenever you finish one. Thus, you will not be distracted
1081 by shouts from other ICS users while playing.
1084 Setting this option will cause XBoard to display an graph of
1085 currently active seek ads when you left-click the board while idle
1086 and logged on to an ICS.
1088 Auto-Refresh Seek Graph
1089 In combination with the `Seek Graph' option this will cause
1090 automatic update of the seek graph while it is up. This only
1091 works on FICS and ICS, and requires a lot of bandwidth on a busy
1099 If this option is on while playing a game on an ICS, you can
1100 register your next planned move before it is your turn. Move the
1101 piece with the mouse in the ordinary way, and the starting and
1102 ending squares will be highlighted with a special color (red by
1103 default). When it is your turn, if your registered move is legal,
1104 XBoard will send it to ICS immediately; if not, it will be ignored
1105 and you can make a different move. If you change your mind about
1106 your premove, either make a different move, or double-click on any
1107 piece to cancel the move entirely.
1109 You can also enter premoves for the first white and black moves of
1114 When this option is on, an alarm sound is played when your clock
1115 counts down to the icsAlarmTime in an ICS game. (By default, the
1116 time is 5 seconds, but you can pecify other values with the Alarm
1117 Time spin control.) For games with time controls that include an
1118 increment, the alarm will sound each time the clock counts down to
1119 the icsAlarmTime. By default, the alarm sound is the terminal
1120 bell, but on some systems you can change it to a sound file using
1121 the soundIcsAlarm option; see below.
1124 Ticking this options causes various types of ICS messages do be
1125 displayed with different foreground or background colors in the
1126 console. The colors can be individually selected for each type,
1127 through the accompanying text edits.
1130 Selecting this menu item causes the current XBoard settings to be
1131 written to the settings file, so they will also apply in future
1132 sessions. Note that some settings are 'volatile', and are not
1133 saved, because XBoard considers it too unlikely that you want
1134 those to apply next time. In particular this applies to the Chess
1135 program names, and all options giving information on those Chess
1136 programs (such as their directory, if they have their own opening
1137 book, if they are UCI or native XBoard), or the variant you are
1138 playing. Such options would still be understood when they appear
1139 in the settings file in case they were put there with the aid of a
1140 text editor, but they would disappear from the file as soon as you
1143 Save Settings on Exit
1144 Setting this option has no immediate effect, but causes the
1145 settings to be saved when you quit XBoard. What happens then is
1146 otherwise identical to what happens when you use select "Save
1147 Settings Now", see there.
1153 Displays the XBoard documentation in info format. For this
1154 feature to work, you must have the GNU info program installed on
1155 your system, and the file `xboard.info' must either be present in
1156 the current working directory, or have been installed by the `make
1157 install' command when you built XBoard.
1160 Displays the XBoard documentation in man page format. The `F1'
1161 key is a keyboard equivalent. For this feature to work, the file
1162 `xboard.6' must have been installed by the `make install' command
1163 when you built XBoard, and the directory it was placed in must be
1164 on the search path for your system's `man' command.
1167 Shows the current XBoard version number.
1169 3.9 Other Shortcut Keys
1170 =======================
1173 Pressing the `-' key iconizes XBoard. The graphical icon displays
1174 a white knight if it is White's move, or a black knight if it is
1175 Black's move. If your X window manager displays only text icons,
1176 not graphical ones, check its documentation; there is probably a
1177 way to enable graphical icons. If you get black and white
1178 reversed, we would like to hear about it; see *note Problems::
1179 below for instructions on how to report this problem.
1182 Loads the next game from the last game record file you loaded.
1183 The `Alt+PgDn' key is a keyboard equivalent.
1186 Loads the previous game from the last game record file you loaded.
1187 The `Alt+PgUp' key is a keyboard equivalent. Not available if the
1188 last game was loaded from a pipe.
1191 Reloads the last game you loaded. Not available if the last game
1192 was loaded from a pipe.
1194 Reload Same Position
1195 Reloads the last position you loaded. Not available if the last
1196 position was loaded from a pipe.
1198 You can add or remove shortcut keys using the X resources
1199 `form.translations'. Here is an example of what would go in your
1202 XBoard*form.translations: \
1203 Shift<Key>?: AboutGameProc() \n\
1204 <Key>y: AcceptProc() \n\
1205 <Key>n: DeclineProc() \n\
1206 <Key>i: NothingProc()
1207 Binding a key to `NothingProc' makes it do nothing, thus removing it
1208 as a shortcut key. The XBoard commands that can be bound to keys are:
1210 AbortProc, AboutGameProc, AboutProc, AcceptProc, AdjournProc,
1211 AlwaysQueenProc, AnalysisModeProc, AnalyzeFileProc,
1212 AnimateDraggingProc, AnimateMovingProc, AutobsProc, AutoflagProc,
1213 AutoflipProc, AutoraiseProc, AutosaveProc, BackwardProc,
1214 BlindfoldProc, BookProc, CallFlagProc, CopyGameProc, CopyPositionProc,
1215 DebugProc, DeclineProc, DrawProc, EditCommentProc, EditGameProc,
1216 EditPositionProc, EditTagsProc, EnterKeyProc, FlashMovesProc,
1217 FlipViewProc, ForwardProc, GetMoveListProc, HighlightLastMoveProc,
1218 HintProc, Iconify, IcsAlarmProc, IcsClientProc, IcsInputBoxProc,
1219 InfoProc, LoadGameProc, LoadNextGameProc, LoadNextPositionProc,
1220 LoadPositionProc, LoadPrevGameProc, LoadPrevPositionProc,
1221 LoadSelectedProc, MachineBlackProc, MachineWhiteProc, MailMoveProc,
1222 ManProc, MoveNowProc, MoveSoundProc, NothingProc, OldSaveStyleProc,
1223 PasteGameProc, PastePositionProc, PauseProc, PeriodicUpdatesProc,
1224 PonderNextMoveProc, PopupExitMessageProc, PopupMoveErrorsProc,
1225 PremoveProc, QuietPlayProc, QuitProc, ReloadCmailMsgProc,
1226 ReloadGameProc, ReloadPositionProc, RematchProc, ResetProc,
1227 ResignProc, RetractMoveProc, RevertProc, SaveGameProc,
1228 SavePositionProc, ShowCoordsProc, ShowGameListProc, ShowThinkingProc,
1229 StopExaminingProc, StopObservingProc, TestLegalityProc, ToEndProc,
1230 ToStartProc, TrainingProc, TruncateGameProc, and TwoMachinesProc.
1235 This section documents the command-line options to XBoard. You can set
1236 these options in two ways: by typing them on the shell command line you
1237 use to start XBoard, or by setting them as X resources (typically in
1238 your `.Xresources' file). Many of the options cannot be changed while
1239 XBoard is running; others set the initial state of items that can be
1240 changed with the *note Options:: menu.
1242 Most of the options have both a long name and a short name. To turn a
1243 boolean option on or off from the command line, either give its long
1244 name followed by the value true or false (`-longOptionName true'), or
1245 give just the short name to turn the option on (`-opt'), or the short
1246 name preceded by `x' to turn the option off (`-xopt'). For options that
1247 take strings or numbers as values, you can use the long or short option
1248 names interchangeably.
1250 Each option corresponds to an X resource with the same name, so if
1251 you like, you can set options in your `.Xresources' file or in a file
1252 named `XBoard' in your home directory. For options that have two
1253 names, the longer one is the name of the corresponding X resource; the
1254 short name is not recognized. To turn a boolean option on or off as an
1255 X resource, give its long name followed by the value true or false
1256 (`XBoard*longOptionName: true').
1258 4.1 Chess Engine Options
1259 ========================
1261 -tc or -timeControl minutes[:seconds]
1262 Each player begins with his clock set to the `timeControl' period.
1263 Default: 5 minutes. The additional options `movesPerSession' and
1264 `timeIncrement' are mutually exclusive.
1266 -mps or -movesPerSession moves
1267 When both players have made `movesPerSession' moves, a new
1268 `timeControl' period is added to both clocks. Default: 40 moves.
1270 -inc or -timeIncrement seconds
1271 If this option is specified, `movesPerSession' is ignored.
1272 Instead, after each player's move, `timeIncrement' seconds are
1273 added to his clock. Use `-inc 0' if you want to require the entire
1274 game to be played in one `timeControl' period, with no increment.
1275 Default: -1, which specifies `movesPerSession' mode.
1277 -clock/-xclock or -clockMode true/false
1278 Determines whether or not to display the chess clocks. If
1279 clockMode is false, the clocks are not shown, but the side that is
1280 to play next is still highlighted. Also, unless `searchTime' is
1281 set, the chess engine still keeps track of the clock time and uses
1282 it to determine how fast to make its moves.
1284 -st or -searchTime minutes[:seconds]
1285 Tells the chess engine to spend at most the given amount of time
1286 searching for each of its moves. Without this option, the chess
1287 engine chooses its search time based on the number of moves and
1288 amount of time remaining until the next time control. Setting
1289 this option also sets clockMode to false.
1291 -depth or -searchDepth number
1292 Tells the chess engine to look ahead at most the given number of
1293 moves when searching for a move to make. Without this option, the
1294 chess engine chooses its search depth based on the number of moves
1295 and amount of time remaining until the next time control. With
1296 the option, the engine will cut off its search early if it reaches
1297 the specified depth.
1301 Tells the chess engine to use an internal time standard based on
1302 its node count, rather then wall-clock time, to make its timing
1303 decisions. The time in virtual seconds should be obtained by
1304 dividing the node count through the given number, like the number
1305 was a rate in nodes per second. Xboard will manage the clocks in
1306 accordance with this, relying on the number of nodes reported by
1307 the engine in its thinking output. If the given number equals zero,
1308 it can obviously not be used to convert nodes to seconds, and the
1309 time reported by the engine is used to decrement the XBoard clock
1310 in stead. The engine is supposed to report in CPU time it uses,
1311 rather than wall-clock time, in this mode. This option can provide
1312 fairer conditions for engine-engine matches on heavily loaded
1313 machines, or with very fast games (where the wall clock is too
1314 inaccurate). `showThinking' must be on for this option to work.
1315 Default: -1 (off). Not many engines might support this yet!
1317 -firstTimeOdds factor
1318 -secondTimeOdds factor
1319 Reduces the time given to the mentioned engine by the given factor.
1320 If pondering is off, the effect is indistinguishable from what
1321 would happen if the engine was running on an n-times slower
1322 machine. Default: 1.
1325 This option determines how the case is handled where both engines
1326 have a time-odds handicap. If mode=1, the engine that gets the
1327 most time will always get the nominal time, as specified by the
1328 time-control options, and its opponent's time is renormalized
1329 accordingly. If mode=0, both play with reduced time. Default: 0.
1331 -hideThinkingFromHuman true/false
1332 Controls the Hide Thinking option. *Note Options Menu::. Default:
1333 true. (Replaces the Show-Thinking option of older xboard
1336 -thinking/-xthinking or -showThinking true/false
1337 Forces the engine to send thinking output to xboard. Used to be
1338 the only way to control if thinking output was displayed in older
1339 xboard versions, but as the thinking output in xboard 4.3 is also
1340 used for several other purposes (adjudication, storing in PGN
1341 file) the display of it is now controlled by the new option Hide
1342 Thinking. *Note Options Menu::. Default: false. (But if xboard
1343 needs the thinking output for some purpose, it makes the engine
1344 send it despite the setting of this option.)
1346 -ponder/-xponder or -ponderNextMove true/false
1347 Sets the Ponder Next Move menu option. *Note Options Menu::.
1351 Specifies the maximum number of CPUs an SMP engine is allowed to
1352 use. Only works for engines that support the
1353 XBoard/WinBoard-protocol cores feature.
1355 -mg or -matchGames n
1356 Automatically runs an n-game match between two chess engines, with
1357 alternating colors. If the `loadGameFile' or `loadPositionFile'
1358 option is set, XBoard starts each game with the given opening
1359 moves or the given position; otherwise, the games start with the
1360 standard initial chess position. If the `saveGameFile' option is
1361 set, a move record for the match is appended to the specified
1362 file. If the `savePositionFile' option is set, the final position
1363 reached in each game of the match is appended to the specified
1364 file. When the match is over, XBoard displays the match score and
1365 exits. Default: 0 (do not run a match).
1367 -mm/-xmm or -matchMode true/false
1368 Setting `matchMode' to true is equivalent to setting `matchGames'
1372 Automatically runs an n-game match between two chess engines,
1373 without alternating colors. Otherwise the same applies as for the
1374 `-matchGames' option, over which it takes precedence if both are
1375 specified. (See there.) Default: 0 (do not run a match).
1377 -fcp or -firstChessProgram program
1378 Name of first chess engine. Default: `Fairy-Max'.
1380 -scp or -secondChessProgram program
1381 Name of second chess engine, if needed. A second chess engine is
1382 started only in Two Machines (match) mode. Default: `Fairy-Max'.
1384 -fb/-xfb or -firstPlaysBlack true/false
1385 In games between two chess engines, firstChessProgram normally
1386 plays white. If this option is true, firstChessProgram plays
1387 black. In a multi-game match, this option affects the colors only
1388 for the first game; they still alternate in subsequent games.
1390 -fh or -firstHost host
1391 -sh or -secondHost host
1392 Hosts on which the chess engines are to run. The default for each
1393 is `localhost'. If you specify another host, XBoard uses `rsh' to
1394 run the chess engine there. (You can substitute a different remote
1395 shell program for rsh using the `remoteShell' option described
1398 -fd or -firstDirectory dir
1399 -sd or -secondDirectory dir
1400 Working directories in which the chess engines are to be run. The
1401 default is "", which means to run the chess engine in the same
1402 working directory as XBoard itself. (See the CHESSDIR environment
1403 variable.) This option is effective only when the chess engine is
1404 being run on the local host; it does not work if the engine is run
1405 remotely using the -fh or -sh option.
1408 -secondInitString string
1409 The string that is sent to initialize each chess engine for a new
1414 Setting this option from the command line is tricky, because you
1415 must type in real newline characters, including one at the very
1416 end. In most shells you can do this by entering a `\' character
1417 followed by a newline. It is easier to set the option from your
1418 `.Xresources' file; in that case you can include the character
1419 sequence `\n' in the string, and it will be converted to a newline.
1421 If you change this option, don't remove the `new' command; it is
1422 required by all chess engines to start a new game.
1424 You can remove the `random' command if you like; including it
1425 causes GNU Chess 4 to randomize its move selection slightly so
1426 that it doesn't play the same moves in every game. Even without
1427 `random', GNU Chess 4 randomizes its choice of moves from its
1428 opening book. Many other chess engines ignore this command
1429 entirely and always (or never) randomize.
1431 You can also try adding other commands to the initString; see the
1432 documentation of the chess engine you are using for details.
1434 -firstComputerString string
1435 -secondComputerString string
1436 The string that is sent to the chess engine if its opponent is
1437 another computer chess engine. The default is `computer\n'.
1438 Probably the only useful alternative is the empty string (`'),
1439 which keeps the engine from knowing that it is playing another
1442 -reuse/-xreuse or -reuseFirst true/false
1443 -reuse2/-xreuse2 or -reuseSecond true/false
1444 If the option is false, XBoard kills off the chess engine after
1445 every game and starts it again for the next game. If the option
1446 is true (the default), XBoard starts the chess engine only once
1447 and uses it repeatedly to play multiple games. Some old chess
1448 engines may not work properly when reuse is turned on, but
1449 otherwise games will start faster if it is left on.
1451 -firstProtocolVersion version-number
1452 -secondProtocolVersion version-number
1453 This option specifies which version of the chess engine
1454 communication protocol to use. By default, version-number is 2.
1455 In version 1, the "protover" command is not sent to the engine;
1456 since version 1 is a subset of version 2, nothing else changes.
1457 Other values for version-number are not supported.
1459 -firstScoreAbs true/false
1460 -secondScoreAbs true/false
1461 If this option is set, the score reported by the engine is taken
1462 to be that in favor of white, even when the engine plays black.
1463 Important when XBoard uses the score for adjudications, or in PGN
1466 -niceEngines priority
1467 This option allows you to lower the priority of the engine
1468 processes, so that the generally insatiable hunger for CPU time of
1469 chess engines does not interfere so much with smooth operation of
1470 XBoard (or the rest of your system). Negative values could
1471 increase the engine priority, which is not recommended.
1473 -firstOptions string
1474 -secondOptions string
1475 The given string is a comma-separated list of (option name=option
1476 value) pairs, like the following example: "style=Karpov,blunder
1477 rate=0". If an option announced by the engine at startup through
1478 the feature commands of the XBoard/WinBoard protocol matches one
1479 of the option names (i.e. "style" or "blunder rate"), it would be
1480 set to the given value (i.e. "Karpov" or 0) through a
1481 corresponding option command to the engine. This provided that
1482 the type of the value (text or numeric) matches as well.
1484 -firstNeedsNoncompliantFEN string
1485 -secondNeedsNoncompliantFEN string
1486 The castling rights and e.p. fields of the FEN sent to the
1487 mentioned engine with the setboard command will be replaced by the
1488 given string. This can for instance be used to run engines that do
1489 not understand Chess960 FENs in variant fischerandom, to make them
1490 at least understand the opening position, through setting the
1491 string to "KQkq -". (Note you also have to give the e.p. field!)
1492 Other possible applications are to provide work-arounds for
1493 engines that want to see castling and e.p. fields in variants that
1494 do not have castling or e.p. (shatranj, courier, xiangqi, shogi)
1495 so that XBoard would normally omit them (string = "- -"), or to
1496 add variant-specific fields that are not yet supported by XBoard
1497 (e.g. to indicate the number of checks in 3check).
1500 Forces shuffling of the opening setup in variants that normally
1501 have a fixed initial position. Shufflings are symmetric for black
1502 and white, and exempt King and Rooks in variants with normal
1503 castling. Remains in force until a new variant is selected.
1505 4.2 UCI + WB Engine Settings
1506 ============================
1508 -fUCI or -firstIsUCI true/false
1509 -sUCI or -secondIsUCI true/false
1510 Indicates if the mentioned engine executable file is an UCI engine,
1511 and should be run with the aid of the Polyglot adapter rather than
1512 directly. Xboard will then pass the other UCI options and engine
1513 name to Polyglot through a .ini temporary file created for the
1516 -polyglotDir filename
1517 Gives the name of the directory in which the Polyglot adapter for
1518 UCI engines resides. Default: "".
1520 -usePolyglotBook true/false
1521 Specifies if the Polyglot book should be used.
1523 -polyglotBook filename
1524 Gives the filename of the opening book that Polyglot should use.
1525 From XBoard 4.3.15 on, native XBoard/WinBoard engines will also
1526 use the opening book specified here, provided the
1527 `usePolyglotBook' option is set to true, and the option
1528 `firstHasOwnBookUCI' or `secondHasOwnBookUCI' applying to the
1529 engine is set to false. The engine will be kept in force mode as
1530 long as the current position is in book, and XBoard will select
1531 the book moves for it. Default: "".
1533 -fNoOwnBookUCI or -firstXBook or -firstHasOwnBookUCI true/false
1534 -sNoOwnBookUCI or -secondXBook or -secondHasOwnBookUCI true/false
1535 Indicates if the mentioned engine has its own opening book it
1536 should play from, rather than using the external book through
1537 XBoard. Default: false.
1540 Sets the size of the hash table to n MegaBytes. Together with the
1541 EGTB cache size this number is also used to calculate the memory
1542 setting of XBoard/WinBoard engines, for those that support the
1543 memory feature of the XBoard/WinBoard protocol. Default: 64.
1545 -defaultCacheSizeEGTB n
1546 Sets the size of the EGTB cache to n MegaBytes. Together with the
1547 hash-table size this number is also used to calculate the memory
1548 setting of XBoard/WinBoard engines, for those that support the
1549 memory feature of the XBoard/WinBoard protocol. Default: 4.
1551 -defaultPathEGTB filename
1552 Gives the name of the directory where the end-game tablebases are
1553 installed, for UCI engines. Default: "/usr/local/share/egtb".
1556 Specifies which end-game tables are installed on the computer, and
1557 where. The argument is a comma-separated list of format
1558 specifications, each specification consisting of a format name, a
1559 colon, and a directory path name, e.g.
1560 "nalimov:/usr/local/share/egtb". If the name part matches that of
1561 a format that the engine requests through a feature command,
1562 xboard will relay the path name for this format to the engine
1563 through an egtpath command. One egtpath command for each matching
1564 format will be sent. Popular formats are "nalimov" DTM tablebases
1565 and "scorpio" bitbases. Default: "".
1570 -ics/-xics or -internetChessServerMode true/false
1571 Connect with an Internet Chess Server to play chess against its
1572 other users, observe games they are playing, or review games that
1573 have recently finished. Default: false.
1575 -icshost or -internetChessServerHost host
1576 The Internet host name or address of the chess server to connect
1577 to when in ICS mode. Default: `chessclub.com'. Another popular
1578 chess server to try is `freechess.org'. If your site doesn't have
1579 a working Internet name server, try specifying the host address in
1580 numeric form. You may also need to specify the numeric address
1581 when using the icshelper option with timestamp or timeseal (see
1584 -icsport or -internetChessServerPort port-number
1585 The port number to use when connecting to a chess server in ICS
1586 mode. Default: 5000.
1588 -icshelper or -internetChessServerHelper prog-name
1589 An external helper program used to communicate with the chess
1590 server. You would set it to "timestamp" for ICC (chessclub.com) or
1591 "timeseal" for FICS (freechess.org), after obtaining the correct
1592 version of timestamp or timeseal for your computer. See "help
1593 timestamp" on ICC and "help timeseal" on FICS. This option is
1594 shorthand for `-useTelnet -telnetProgram program'.
1596 -telnet/-xtelnet or -useTelnet true/false
1597 This option is poorly named; it should be called useHelper. If
1598 set to true, it instructs XBoard to run an external program to
1599 communicate with the Internet Chess Server. The program to use is
1600 given by the telnetProgram option. If the option is false (the
1601 default), XBoard opens a TCP socket and uses its own internal
1602 implementation of the telnet protocol to communicate with the ICS.
1605 -telnetProgram prog-name
1606 This option is poorly named; it should be called helperProgram.
1607 It gives the name of the telnet program to be used with the
1608 `gateway' and `useTelnet' options. The default is `telnet'. The
1609 telnet program is invoked with the value of
1610 `internetChessServerHost' as its first argument and the value of
1611 `internetChessServerPort' as its second argument. *Note
1615 If this option is set to a host name, XBoard communicates with the
1616 Internet Chess Server by using `rsh' to run the `telnetProgram' on
1617 the given host, instead of using its own internal implementation
1618 of the telnet protocol. You can substitute a different remote shell
1619 program for `rsh' using the `remoteShell' option described below.
1622 -internetChessServerCommPort or -icscomm dev-name
1623 If this option is set, XBoard communicates with the ICS through
1624 the given character I/O device instead of opening a TCP connection.
1625 Use this option if your system does not have any kind of Internet
1626 connection itself (not even a SLIP or PPP connection), but you do
1627 have dial-up access (or a hardwired terminal line) to an Internet
1628 service provider from which you can telnet to the ICS.
1630 The support for this option in XBoard is minimal. You need to set
1631 all communication parameters and tty modes before you enter XBoard.
1633 Use a script something like this:
1635 stty raw -echo 9600 > /dev/tty00
1636 xboard -ics -icscomm /dev/tty00
1638 Here replace `/dev/tty00' with the name of the device that your
1639 modem is connected to. You might have to add several more options
1640 to these stty commands. See the man pages for `stty' and `tty' if
1641 you run into problems. Also, on many systems stty works on its
1642 standard input instead of standard output, so you have to use `<'
1645 If you are using linux, try starting with the script below.
1646 Change it as necessary for your installation.
1649 # configure modem and fire up XBoard
1653 stty 2400 ; stty raw ; stty hupcl ; stty -clocal
1654 stty ignbrk ; stty ignpar ; stty ixon ; stty ixoff
1655 stty -iexten ; stty -echo
1657 xboard -ics -icscomm /dev/modem
1658 After you start XBoard in this way, type whatever commands are
1659 necessary to dial out to your Internet provider and log in. Then
1660 telnet to ICS, using a command like `telnet chessclub.com 5000'.
1661 Important: See the paragraph below about extra echoes, in *note
1664 -icslogon or -internetChessServerLogonScript file-name
1665 Whenever XBoard connects to the Internet Chess Server, if it finds
1666 a file with the name given in this option, it feeds the file's
1667 contents to the ICS as commands. The default file name is `.icsrc'.
1668 Usually the first two lines of the file should be your ICS user
1669 name and password. The file can be either in $CHESSDIR, in
1670 XBoard's working directory if CHESSDIR is not set, or in your home
1674 If you experience trouble logging on to an ICS when using the
1675 `-icslogon' option, inserting some delay between characters of the
1676 logon script may help. This option adds `delay' milliseconds of
1677 delay between characters. Good values to try are 100 and 250.
1679 -icsinput/-xicsinput or -internetChessServerInputBox true/false
1680 Sets the ICS Input Box menu option. *Note Mode Menu::. Default:
1683 -autocomm/-xautocomm or -autoComment true/false
1684 Sets the Auto Comment menu option. *Note Options Menu::. Default:
1687 -autoflag/-xautoflag or -autoCallFlag true/false
1688 Sets the Auto Flag menu option. *Note Options Menu::. Default:
1691 -autobs/-xautobs or -autoObserve true/false
1692 Sets the Auto Observe menu option. *Note Options Menu::. Default:
1696 Enables kibitzing of the engines last thinking output (depth,
1697 score, time, speed, PV) before it moved to the ICS, in zippy mode.
1698 The option `showThinking' must be switched on for this option to
1699 work. Also diverts similar kibitz information of an opponent
1700 engine that is playing you through the ICS to the engine-output
1701 window, as if the engine was playing locally.
1703 -seekGraph true/false or -sg
1704 Enables displaying of the seek graph by left-clicking the board
1705 when you are logged on to an ICS and currently idle. The seek
1706 graph show all players currently seeking games on the ICS, plotted
1707 according to their rating and the time control of the game they
1708 seek, in three different colors (for rated, unrated and wild
1709 games). Computer ads are displayed as squares, human ads are dots.
1712 -autoRefresh true/false
1713 Enables automatic updating of the seek graph, by having the ICS
1714 send a running update of all newly placed and removed seek ads.
1715 This consumes a substantial amount of communication bandwidth, and
1716 is only supported for FICS and ICC. Default: false.
1718 -backgroundObserve true/false
1719 When true, boards sent to you by the ICS from other games while
1720 you are playing (e.g. because you are observing them) will not be
1721 automatically displayed. Only a summary of time left and material
1722 of both players will appear in the message field above the board.
1723 XBoard will remember the last board it has received this way, and
1724 will display it in stead of the position in your own game when you
1725 press the right mouse button. No other information is stored on
1726 such games observed in the background; you cannot save such a game
1727 later, or step through its moves. This feature is provided solely
1728 for the benefit of bughouse players, to enable them to peek at
1729 their partner's game without the need to logon twice. Default:
1732 -dualBoard true/false
1733 In combination with -backgroundObserve true, this option will
1734 display the board of the background game side by side with that of
1735 your own game, so you can have it in view permanently. Any board
1736 or holdings info coming in will be displayed on the secondary
1737 board immediately. This feature is still experimental and largely
1738 unfinished. There is no animation or highlighting of moves on the
1739 secondary board. Default: false.
1741 -oneClickMove true/false
1742 When set, this option allows you to enter moves by only clicking
1743 the to- or from-square, when only a single legal move to or from
1744 that square is possible. Double-clicking a piece (or clicking an
1745 already selected piece) will instruct that piece to make the only
1746 capture it can legally do. Default: false.
1748 -moves/-xmoves or -getMoveList true/false
1749 Sets the Get Move List menu option. *Note Options Menu::.
1752 -alarm/-xalarm or -icsAlarm true/false
1753 Sets the ICS Alarm menu option. *Note Options Menu::. Default:
1757 Sets the time in milliseconds for the ICS Alarm menu option.
1758 *Note Options Menu::. Default: 5000.
1760 lowTimeWarning true/false
1761 Controls a color change of the board as a warning your time is
1762 running out. *Note Options Menu::. Default: false.
1764 -pre/-xpre \fRor\fB -premove true/false
1765 Sets the Premove menu option. *Note Options Menu::. Default: true.
1767 -quiet/-xquiet or -quietPlay true/false
1768 Sets the Quiet Play menu option. *Note Options Menu::. Default:
1771 -colorizeMessages or -colorize
1772 Setting colorizeMessages to true tells XBoard to colorize the
1773 messages received from the ICS. Colorization works only if your
1774 xterm supports ISO 6429 escape sequences for changing text colors.
1776 -colorShout foreground,background,bold
1777 -colorSShout foreground,background,bold
1778 -colorChannel1 foreground,background,bold
1779 -colorChannel foreground,background,bold
1780 -colorKibitz foreground,background,bold
1781 -colorTell foreground,background,bold
1782 -colorChallege foreground,background,bold
1783 -colorRequest foreground,background,bold
1784 -colorSeek foreground,background,bold
1785 -colorNormal foreground,background,bold
1786 These options set the colors used when colorizing ICS messages.
1787 All ICS messages are grouped into one of these categories: shout,
1788 sshout, channel 1, other channel, kibitz, tell, challenge, request
1789 (including abort, adjourn, draw, pause, and takeback), or normal
1790 (all other messages).
1792 Each foreground or background argument can be one of the following:
1793 black, red, green, yellow, blue, magenta, cyan, white, or default.
1794 Here "default" means the default foreground or background color of
1795 your xterm. Bold can be 1 or 0. If background is omitted,
1796 "default" is assumed; if bold is omitted, 0 is assumed.
1798 Here is an example of how to set the colors in your `.Xresources'
1799 file. The colors shown here are the default values; you will get
1800 them if you turn `-colorize' on without specifying your own colors.
1802 xboard*colorizeMessages: true
1803 xboard*colorShout: green
1804 xboard*colorSShout: green, black, 1
1805 xboard*colorChannel1: cyan
1806 xboard*colorChannel: cyan, black, 1
1807 xboard*colorKibitz: magenta, black, 1
1808 xboard*colorTell: yellow, black, 1
1809 xboard*colorChallenge: red, black, 1
1810 xboard*colorRequest: red
1811 xboard*colorSeek: blue
1812 xboard*colorNormal: default
1814 -soundProgram progname
1815 If this option is set to a sound-playing program that is installed
1816 and working on your system, XBoard can play sound files when
1817 certain events occur, listed below. The default program name is
1818 "play". If any of the sound options is set to "$", the event
1819 rings the terminal bell by sending a ^G character to standard
1820 output, instead of playing a sound file. If an option is set to
1821 the empty string "", no sound is played for that event.
1823 -soundDirectory directoryname
1824 This option specifies where XBoard will look for sound files, when
1825 these are not given as an absolute path name.
1827 -soundShout filename
1828 -soundSShout filename
1829 -soundChannel filename
1830 -soundKibitz filename
1832 -soundChallenge filename
1833 -soundRequest filename
1835 These sounds are triggered in the same way as the colorization
1836 events described above. They all default to "", no sound. They
1837 are played only if the colorizeMessages is on.
1840 This sound is used by the Move Sound menu option. Default: "$".
1842 -soundIcsAlarm filename
1843 This sound is used by the ICS Alarm menu option. Default: "$".
1845 -soundIcsWin filename
1846 This sound is played when you win an ICS game. Default: "" (no
1849 -soundIcsLoss filename
1850 This sound is played when you lose an ICS game. Default: "" (no
1853 -soundIcsDraw filename
1854 This sound is played when you draw an ICS game. Default: "" (no
1857 -soundIcsUnfinished filename
1858 This sound is played when an ICS game that you are participating
1859 in is aborted, adjourned, or otherwise ends inconclusively.
1860 Default: "" (no sound).
1862 Here is an example of how to set the sounds in your `.Xresources'
1865 xboard*soundShout: shout.wav
1866 xboard*soundSShout: sshout.wav
1867 xboard*soundChannel1: channel1.wav
1868 xboard*soundChannel: channel.wav
1869 xboard*soundKibitz: kibitz.wav
1870 xboard*soundTell: tell.wav
1871 xboard*soundChallenge: challenge.wav
1872 xboard*soundRequest: request.wav
1873 xboard*soundSeek: seek.wav
1874 xboard*soundMove: move.wav
1875 xboard*soundIcsWin: win.wav
1876 xboard*soundIcsLoss: lose.wav
1877 xboard*soundIcsDraw: draw.wav
1878 xboard*soundIcsUnfinished: unfinished.wav
1879 xboard*soundIcsAlarm: alarm.wav
1881 -dropMenu true|false
1882 This option allows you to emulate old behavior, where the right
1883 mouse button brings up the (now deprecated) drop menu rather than
1884 displaying the position at the end of the principal variation.
1887 -variations true|false
1888 When this option is on, you can start new variations in Edit Game
1889 or Analyze mode by holding the Shift key down while entering a
1890 move. When it is off, the Shift key will be ignored. Default:
1893 4.4 Load and Save options
1894 =========================
1896 -lgf or -loadGameFile file
1897 -lgi or -loadGameIndex index
1898 If the `loadGameFile' option is set, XBoard loads the specified
1899 game file at startup. The file name `-' specifies the standard
1900 input. If there is more than one game in the file, XBoard pops up
1901 a menu of the available games, with entries based on their PGN
1902 (Portable Game Notation) tags. If the `loadGameIndex' option is
1903 set to `N', the menu is suppressed and the N th game found in the
1904 file is loaded immediately. The menu is also suppressed if
1905 `matchMode' is enabled or if the game file is a pipe; in these
1906 cases the first game in the file is loaded immediately. Use the
1907 `pxboard' shell script provided with XBoard if you want to pipe in
1908 files containing multiple games and still see the menu. If the
1909 loadGameIndex specifies an index -1, this triggers auto-increment
1910 of the index in `matchMode', which means that after every game the
1911 index is incremented by one, causing each game of the match to be
1912 played from the next game in the file. Similarly, specifying an
1913 index value of -2 causes the index to be incremented every two
1914 games, so that each game in the file is used twice (with reversed
1915 colors). The `rewindIndex' option causes the index to be reset to
1916 the first game of the file when it has reached a specified value.
1919 Causes a position file or game file to be rewound to its beginning
1920 after n positions or games in auto-increment `matchMode'. See
1921 `loadPositionIndex' and `loadGameIndex'. default: 0 (no rewind).
1923 -td or -timeDelay seconds
1924 Time delay between moves during `Load Game' or `Analyze File'.
1925 Fractional seconds are allowed; try `-td 0.4'. A time delay value
1926 of -1 tells XBoard not to step through game files automatically.
1929 -sgf or -saveGameFile file
1930 If this option is set, XBoard appends a record of every game
1931 played to the specified file. The file name `-' specifies the
1934 -autosave/-xautosave or -autoSaveGames true/false
1935 Sets the Auto Save menu option. *Note Options Menu::. Default:
1936 false. Ignored if `saveGameFile' is set.
1938 -lpf or -loadPositionFile file
1939 -lpi or -loadPositionIndex index
1940 If the `loadPositionFile' option is set, XBoard loads the
1941 specified position file at startup. The file name `-' specifies the
1942 standard input. If the `loadPositionIndex' option is set to N, the
1943 Nth position found in the file is loaded; otherwise the first
1944 position is loaded. If the loadPositionIndex specifies an index
1945 -1, this triggers auto-increment of the index in `matchMode',
1946 which means that after every game the index is incremented by one,
1947 causing each game of the match to be played from the next position
1948 in the file. Similarly, specifying an index value of -2 causes the
1949 index to be incremented every two games, so that each position in
1950 the file is used twice (with the engines playing opposite colors).
1951 The `rewindIndex' option causes the index to be reset to the first
1952 position of the file when it has reached a specified value.
1954 -spf or -savePositionFile file
1955 If this option is set, XBoard appends the final position reached
1956 in every game played to the specified file. The file name `-'
1957 specifies the standard output.
1959 -pgnExtendedInfo true/false
1960 If this option is set, XBoard saves depth, score and time used for
1961 each move that the engine found as a comment in the PGN file.
1964 -pgnEventHeader string
1965 Sets the name used in the PGN event tag to string. Default:
1966 "Computer Chess Game".
1968 -saveOutOfBookInfo true/false
1969 Include the information on how the engine(s) game out of its
1970 opening book in a special 'annotator' tag with the PGN file.
1972 -oldsave/-xoldsave or -oldSaveStyle true/false
1973 Sets the Old Save Style menu option. *Note Options Menu::.
1976 -gameListTags string
1977 The character string lists the PGN tags that should be printed in
1978 the Game List, and their order. The meaning of the codes is
1979 e=event, s=site, d=date, o=round, p=players, r=result, w=white
1980 Elo, b=black Elo, t=time control, v=variant, a=out-of-book info,
1981 c=result comment. Default: "eprd"
1983 -ini or -settingsFile filename
1984 -saveSettingsFile filename
1986 When XBoard encounters an option -settingsFile (or -ini for short),
1987 or @filename, it tries to read the mentioned file, and substitutes
1988 the contents of it (presumaby more command-line options) in place
1989 of the option. In the case of -ini or -settingsFile, the name of
1990 a successfully read settings file is also remembered as the file
1991 to use for saving settings (automatically on exit, or on user
1992 command). An option of the form @filename does not affect saving.
1993 The option -saveSettingsFile does specify a name of the file to use
1994 for saving, without reading any options from it, and is thus also
1995 effective when the file did not exist yet. So the settings will
1996 be saved to the file specified in the last -saveSettingsFile or
1997 succesfull -settingsFile / -ini command, if any, and in
1998 /etc/xboard/xboard.conf otherwise. Usualy the latter is only
1999 accessible for the system administrator, though, and will be used
2000 to contain system-wide default setings, amongst which a
2001 -saveSettingsFile and -settingsFile options to specify a settings
2002 file accessible to the individual user, such as ~/.xboardrc in the
2003 user's home directory.
2005 4.5 User interface options
2006 ==========================
2011 These and most other standard Xt options are accepted.
2014 Suppresses all GUI functions of XBoard (to speed up automated
2015 ultra-fast engine-engine games, which you donÂ’t want to watch).
2016 There will be no board or clock updates, no printing of moves, and
2017 no update of the icon on the task bar in this mode.
2019 -movesound/-xmovesound or -ringBellAfterMoves true/false
2020 Sets the Move Sound menu option. *Note Options Menu::. Default:
2021 false. For compatibility with old XBoard versions, -bell/-xbell
2022 are also accepted as abbreviations for this option.
2024 -exit/-xexit or -popupExitMessage true/false
2025 Sets the Popup Exit Message menu option. *Note Options Menu::.
2028 -popup/-xpopup or -popupMoveErrors true/false
2029 Sets the Popup Move Errors menu option. *Note Options Menu::.
2032 -queen/-xqueen or -alwaysPromoteToQueen true/false
2033 Sets the Always Queen menu option. *Note Options Menu::.
2036 -legal/-xlegal or -testLegality true/false
2037 Sets the Test Legality menu option. *Note Options Menu::.
2040 -size or -boardSize (sizeName | n1,n2,n3,n4,n5,n6,n7)
2041 Determines how large the board will be, by selecting the pixel size
2042 of the pieces and setting a few related parameters. The sizeName
2043 can be one of: Titanic, giving 129x129 pixel pieces, Colossal
2044 116x116, Giant 108x108, Huge 95x95, Big 87x87, Large 80x80, Bulky
2045 72x72, Medium 64x64, Moderate 58x58, Average 54x54, Middling
2046 49x49, Mediocre 45x45, Small 40x40, Slim 37x37, Petite 33x33,
2047 Dinky 29x29, Teeny 25x25, or Tiny 21x21. Orthodox pieces of all
2048 these sizes are built into XBoard. Other sizes can be used if you
2049 have them; see the pixmapDirectory and bitmapDirectory options.
2050 Complete sets of un-orthodox pieces are only provided in sizes
2051 Bulky, Middling and (to a lesser extent) Petite; Archbishop,
2052 Marshall and Amazon are also available in all sizes between Bulky
2053 and Petite. When no bitmap is available, the piece will be
2054 displayed as Amazon or King. The default depends on the size of
2055 your screen; it is approximately the largest size that will fit
2058 You can select other sizes or vary other layout parameters by
2059 providing a list of comma-separated values (with no spaces) as the
2060 argument. You do not need to provide all the values; for any you
2061 omit from the end of the list, defaults are taken from the nearest
2062 built-in size. The value `n1' gives the piece size, `n2' the
2063 width of the black border between squares, `n3' the desired size
2064 for the clockFont, `n4' the desired size for the coordFont, `n5'
2065 the desired size for the default font, `n6' the smallLayout flag
2066 (0 or 1), and `n7' the tinyLayout flag (0 or 1). All dimensions
2067 are in pixels. If the border between squares is eliminated (0
2068 width), the various highlight options will not work, as there is
2069 nowhere to draw the highlight. If smallLayout is 1 and
2070 `titleInWindow' is true, the window layout is rearranged to make
2071 more room for the title. If tinyLayout is 1, the labels on the
2072 menu bar are abbreviated to one character each and the buttons in
2073 the button bar are made narrower.
2075 -coords/-xcoords or -showCoords true/false
2076 Sets the Show Coords menu option. *Note Options Menu::. Default:
2077 false. The `coordFont' option specifies what font to use.
2079 -autoraise/-xautoraise or -autoRaiseBoard true/false
2080 Sets the Auto Raise Board menu option. *Note Options Menu::.
2083 -autoflip/-xautoflip or -autoFlipView true/false
2084 Sets the Auto Flip View menu option. *Note Options Menu::.
2087 -flip/-xflip or -flipView true/false
2088 If Auto Flip View is not set, or if you are observing but not
2089 participating in a game, then the positioning of the board at the
2090 start of each game depends on the flipView option. If flipView is
2091 false (the default), the board is positioned so that the white
2092 pawns move from the bottom to the top; if true, the black pawns
2093 move from the bottom to the top. In any case, the Flip menu
2094 option (see *note Options Menu::) can be used to flip the board
2095 after the game starts.
2097 -title/-xtitle or -titleInWindow true/false
2098 If this option is true, XBoard displays player names (for ICS
2099 games) and game file names (for `Load Game') inside its main
2100 window. If the option is false (the default), this information is
2101 displayed only in the window banner. You probably won't want to
2102 set this option unless the information is not showing up in the
2103 banner, as happens with a few X window managers.
2105 -buttons/-xbuttons or -showButtonBar True/False
2106 If this option is False, xboard omits the [<<] [<] [P] [>] [>>]
2107 button bar from the window, allowing the message line to be wider.
2108 You can still get the functions of these buttons using the menus
2109 or their keyboard shortcuts. Default: true.
2111 -mono/-xmono or -monoMode true/false
2112 Determines whether XBoard displays its pieces and squares with two
2113 colors (true) or four (false). You shouldn't have to specify
2114 `monoMode'; XBoard will determine if it is necessary.
2116 -showTargetSquares true/false
2117 Determines whether XBoard can highlight the squares a piece has
2118 legal moves to, when you grab that piece with the mouse. If this
2119 option is set, this feature can be controlled through the
2120 Highlight Dragging menu item.
2125 These options enable flashing of pieces when they land on their
2126 destination square. `flashCount' tells XBoard how many times to
2127 flash a piece after it lands on its destination square.
2128 `flashRate' controls the rate of flashing (flashes/sec).
2129 Abbreviations: `flash' sets flashCount to 3. `xflash' sets
2130 flashCount to 0. Defaults: flashCount=0 (no flashing),
2133 -highlight/-xhighlight or -highlightLastMove true/false
2134 Sets the Highlight Last Move menu option. *Note Options Menu::.
2137 -highlightMoveWithArrow true/false
2138 Sets the Highlight with Arrow menu option. *Note Options Menu::.
2141 -blind/-xblind or -blindfold true/false
2142 Sets the Blindfold menu option. *Note Options Menu::. Default:
2146 The font used for the clocks. If the option value is a pattern
2147 that does not specify the font size, XBoard tries to choose an
2148 appropriate font for the board size being used. Default:
2149 -*-helvetica-bold-r-normal-*-*-*-*-*-*-*-*.
2152 The font used for rank and file coordinate labels if `showCoords'
2153 is true. If the option value is a pattern that does not specify
2154 the font size, XBoard tries to choose an appropriate font for the
2155 board size being used. Default:
2156 -*-helvetica-bold-r-normal-*-*-*-*-*-*-*-*.
2159 The font used for popup dialogs, menus, comments, etc. If the
2160 option value is a pattern that does not specify the font size,
2161 XBoard tries to choose an appropriate font for the board size
2162 being used. Default: -*-helvetica-medium-r-normal-*-*-*-*-*-*-*-*.
2164 -fontSizeTolerance tol
2165 In the font selection algorithm, a nonscalable font will be
2166 preferred over a scalable font if the nonscalable font's size
2167 differs by `tol' pixels or less from the desired size. A value of
2168 -1 will force a scalable font to always be used if available; a
2169 value of 0 will use a nonscalable font only if it is exactly the
2170 right size; a large value (say 1000) will force a nonscalable font
2171 to always be used if available. Default: 4.
2173 -bm or -bitmapDirectory dir
2174 -pixmap or -pixmapDirectory dir
2175 These options control what piece images xboard uses. The XBoard
2176 distribution includes one set of pixmap pieces in xpm format, in
2177 the directory `pixmaps', and one set of bitmap pieces in xbm
2178 format, in the directory `bitmaps'. Pixmap pieces give a better
2179 appearance on the screen: the white pieces have dark borders, and
2180 the black pieces have opaque internal details. With bitmaps,
2181 neither piece color has a border, and the internal details are
2182 transparent; you see the square color or other background color
2185 If XBoard is configured and compiled on a system that includes
2186 libXpm, the X pixmap library, the xpm pixmap pieces are compiled
2187 in as the default. A different xpm piece set can be selected at
2188 runtime with the `pixmapDirectory' option, or a bitmap piece set
2189 can be selected with the `bitmapDirectory' option.
2191 If XBoard is configured and compiled on a system that does not
2192 include libXpm (or the `--disable-xpm' option is given to the
2193 configure program), the bitmap pieces are compiled in as the
2194 default. It is not possible to use xpm pieces in this case, but
2195 pixmap pieces in another format called "xim" can be used by giving
2196 the `pixmapDirectory' option. Or again, a different bitmap piece
2197 set can be selected with the `bitmapDirectory' option.
2199 Files in the `bitmapDirectory' must be named as follows: The first
2200 character of a piece bitmap name gives the piece it represents
2201 (`p', `n', `b', `r', `q', or `k'), the next characters give the
2202 size in pixels, the following character indicates whether the
2203 piece is solid or outline (`s' or `o'), and the extension is `.bm'.
2204 For example, a solid 80x80 knight would be named `n80s.bm'. The
2205 outline bitmaps are used only in monochrome mode. If bitmap
2206 pieces are compiled in and the bitmapDirectory is missing some
2207 files, the compiled in pieces are used instead.
2209 If the bitmapDirectory option is given, it is also possible to
2210 replace xboard's icons and menu checkmark, by supplying files
2211 named `icon_white.bm', `icon_black.bm', and `checkmark.bm'.
2213 For more information about pixmap pieces and how to get additional
2214 sets, see *note zic2xpm:: below.
2216 -whitePieceColor color
2217 -blackPieceColor color
2218 -lightSquareColor color
2219 -darkSquareColor color
2220 -highlightSquareColor color
2221 -lowTimeWarningColor color
2222 Colors to use for the pieces, squares, and square highlights.
2225 -whitePieceColor #FFFFCC
2226 -blackPieceColor #202020
2227 -lightSquareColor #C8C365
2228 -darkSquareColor #77A26D
2229 -highlightSquareColor #FFFF00
2230 -premoveHighlightColor #FF0000
2231 -lowTimeWarningColor #FF0000
2233 On a grayscale monitor you might prefer:
2235 -whitePieceColor gray100
2236 -blackPieceColor gray0
2237 -lightSquareColor gray80
2238 -darkSquareColor gray60
2239 -highlightSquareColor gray100
2240 -premoveHighlightColor gray70
2241 -lowTimeWarningColor gray70
2243 -drag/-xdrag or -animateDragging true/false
2244 Sets the Animate Dragging menu option. *Note Options Menu::.
2247 -animate/-xanimate or -animateMoving true/false
2248 Sets the Animate Moving menu option. *Note Options Menu::.
2252 Number of milliseconds delay between each animation frame when
2253 Animate Moves is on.
2255 -autoDisplayComment true/false
2256 -autoDisplayTags true/false
2257 If set to true, these options cause the window with the move
2258 comments, and the window with PGN tags, respectively, to pop up
2259 automatically when such tags or comments are encountered during
2260 the replaying a stored or loaded game. Default: true.
2262 -pasteSelection true/false
2263 If this option is set to true, the Paste Position and Paste Game
2264 options paste from the currently selected text. If false, they
2265 paste from the clipboard. Default: false.
2267 4.6 Adjudication Options
2268 ========================
2270 -adjudicateLossThreshold n
2271 If the given value is non-zero, XBoard adjudicates the game as a
2272 loss if both engines agree for a duration of 6 consecutive ply
2273 that the score is below the given score threshold for that engine.
2274 Make sure the score is interpreted properly by XBoard, using
2275 `-firstScoreAbs' and `-secondScoreAbs' if needed. Default: 0 (no
2278 -adjudicateDrawMoves n
2279 If the given value is non-zero, XBoard adjudicates the game as a
2280 draw if after the given number of moves it was not yet decided.
2281 Default: 0 (no adjudication)
2283 -checkMates true/false
2284 If this option is set, XBoard detects all checkmates and
2285 stalemates, and ends the game as soon as they occur.
2286 Legality-testing must be switched on for this option to work.
2289 -testClaims true/false
2290 If this option is set, XBoard verifies all result claims made by
2291 engines, and those who send false claims will forfeit the game
2292 because of it. Legality-testing must be switched on for this
2293 option to work. Default: true
2295 -materialDraws true/false
2296 If this option is set, XBoard adjudicates games as draws when
2297 there is no sufficient material left to inflict a checkmate. This
2298 applies to KBKB with like bishops (any number, actually), and to
2299 KBK, KNK and KK. Legality-testing must be switched on for this
2300 option to work. Default: true
2302 -trivialDraws true/false
2303 If this option is set, XBoard adjudicates games as draws that
2304 cannot be usually won without opponent cooperation. This applies
2305 to KBKB with unlike bishops, and to KBKN, KNKN, KNNK, KRKR and
2306 KQKQ. The draw is called after 6 ply into these end-games, to
2307 allow quick mates that can occur in some exceptional positions to
2308 be found by the engines. KQKQ does not really belong in this
2309 category, and might be taken out in the future. (When
2310 bitbase-based adjudications are implemented.) Legality-testing
2311 must be on for this option to work. Default: false
2314 If the given value is non-zero, XBoard adjudicates the game as a
2315 draw after the given number of consecutive reversible moves.
2316 Engine draw claims are always accepted after 50 moves,
2317 irrespective of the given value of n.
2320 If the given value is non-zero, xboard adjudicates the game as a
2321 draw if a position is repeated the given number of times. Engines
2322 draw claims are always accepted after 3 repeats, (on the 3rd
2323 occurrence, actually), irrespective of the value of n. Beware
2324 that positions that have different castling or en-passant rights
2325 do not count as repeats, XBoard is fully e.p. and castling aware!
2330 -ncp/-xncp or -noChessProgram true/false
2331 If this option is true, XBoard acts as a passive chessboard; it
2332 does not start a chess engine at all. Turning on this option also
2333 turns off clockMode. Default: false.
2335 -mode or -initialMode modename
2336 If this option is given, XBoard selects the given modename from
2337 the Mode menu after starting and (if applicable) processing the
2338 loadGameFile or loadPositionFile option. Default: "" (no
2339 selection). Other supported values are MachineWhite,
2340 MachineBlack, TwoMachines, Analysis, AnalyzeFile, EditGame,
2341 EditPosition, and Training.
2344 Activates preliminary, partial support for playing chess variants
2345 against a local engine or editing variant games. This flag is not
2346 needed in ICS mode. Recognized variant names are:
2349 wildcastle Shuffle chess, king can castle from d file
2350 nocastle Shuffle chess, no castling allowed
2351 fischerandom Fischer Random shuffle chess
2352 bughouse Bughouse, ICC/FICS rules
2353 crazyhouse Crazyhouse, ICC/FICS rules
2354 losers Lose all pieces or get mated (ICC wild 17)
2355 suicide Lose all pieces including king (FICS)
2356 giveaway Try to have no legal moves (ICC wild 26)
2357 twokings Weird ICC wild 9
2358 kriegspiel Opponent's pieces are invisible
2359 atomic Capturing piece explodes (ICC wild 27)
2360 3check Win by giving check 3 times (ICC wild 25)
2361 shatranj An ancient precursor of chess (ICC wild 28)
2362 xiangqi Chinese Chess (on a 9x10 board)
2363 shogi Japanese Chess (on a 9x9 board & piece drops)
2364 capablanca Capablanca Chess (10x8 board, with Archbishop
2365 and Chancellor pieces)
2366 gothic similar, with a better initial position
2367 caparandom An FRC-like version of Capablanca Chess (10x8)
2368 janus A game with two Archbishops (10x8 board)
2369 courier Medieval intermediate between shatranj and
2370 modern Chess (on 12x8 board)
2371 falcon Patented 10x8 variant with two Falcon pieces
2372 berolina Pawns capture straight ahead, and move diagonal
2373 cylinder Pieces wrap around the board edge
2374 knightmate King moves as Knight, and vice versa
2375 super Superchess (shuffle variant with 4 exo-pieces)
2376 makruk Thai Chess (shatranj-like, P promotes on 6th rank)
2377 spartan Spartan Chess (black has unorthodox pieces)
2378 fairy A catchall variant in which all piece types
2379 known to XBoard can participate (8x8)
2380 unknown Catchall for other unknown variants
2382 NOT ALL BOARDSIZES PROVIDE A COMPLETE SET OF BUILT-IN BITMAPS FOR
2383 ALL UN-ORTHODOX PIECES, though. Only in `boardSize' middling and
2384 bulky all 22 piece types are provided, while -boardSize petite has
2385 most of them. Archbishop, Chancellor and Amazon are supported in
2386 every size from petite to bulky. Kings or Amazons are substituted
2387 for missing bitmaps. You can still play variants needing
2388 un-orthodox pieces in other board sizes providing your own bitmaps
2389 through the `bitmapDirectory' or `pixmapDirectory' options.
2391 In the shuffle variants, XBoard now does shuffle the pieces,
2392 although you can still do it by hand using Edit Position. Some
2393 variants are supported only in ICS mode, including bughouse, and
2394 kriegspiel. The winning/drawing conditions in crazyhouse
2395 (off-board interposition on mate) are not fully understood, but
2396 losers, suicide, giveaway, atomic, and 3check should be OK.
2397 Berolina and cylinder chess can only be played with legality
2398 testing off. In crazyhouse, XBoard now does keep track of
2399 off-board pieces. In shatranj it does implement the baring rule
2400 when mate detection is switched on.
2403 Allows you to set a non-standard number of board ranks in any
2404 variant. If the height is given as -1, the default height for the
2405 variant is used. Default: -1
2408 Allows you to set a non-standard number of board files in any
2409 variant. If the width is given as -1, the default width for the
2410 variant is used. With a non-standard width, the initial position
2411 will always be an empty board, as the usual opening array will not
2415 Allows you to set a non-standard size for the holdings in any
2416 variant. If the size is given as -1, the default holdings size
2417 for the variant is used. The first N piece types will go into the
2418 holdings on capture, and you will be able to drop them on the
2419 board in stead of making a normal move. If size equals 0, there
2420 will be no holdings. Default: -1
2422 -defaultFrcPosition N
2423 Specifies the number of the opening position in shuffle games like
2424 Chess960. A value of -1 means the position is randomly generated
2425 by XBoard at the beginning of every game. Default: -1
2427 -pieceToSquareTable string
2428 The characters that are used to represent the piece types XBoard
2429 knows in FEN diagrams and SAN moves. The string argument has to
2430 have an even length (or it will be ignored), as white and black
2431 pieces have to be given separately (in that order). The last
2432 letter for each color will be the King. The letters before that
2433 will be PNBRQ and then a whole host of fairy pieces in an order
2434 that has not fully crystallized yet (currently FEACWMOHIJGDVSLU,
2435 F=Ferz, Elephant, A=Archbishop, C=Chancellor, W=Wazir, M=Commoner,
2436 O=Cannon, H=Nightrider). You should list at least all pieces that
2437 occur in the variant you are playing. If you have less than 44
2438 characters in the string, the pieces not mentioned will get
2439 assigned a period, and you will not be able to distinguish them in
2440 FENs. You can also explicitly assign pieces a period, in which
2441 case they will not be counted in deciding which captured pieces
2442 can go into the holdings. A tilde '~' as a piece name does mean
2443 this piece is used to represent a promoted Pawn in crazyhouse-like
2444 games, i.e. on capture it turns back onto a Pawn. A '+' similarly
2445 indicates the piece is a shogi-style promoted piece, that should
2446 revert to its non-promoted version on capture (rather than to a
2447 Pawn). Note that promoted pieces are represented by pieces 11
2448 further in the list. You should not have to use this option
2449 often: each variant has its own default setting for the piece
2450 representation in FEN, which should be sufficient in normal use.
2453 -debug/-xdebug or -debugMode true/false
2454 Turns on debugging printout.
2456 -debugFile filename or -nameOfDebugFile filename
2457 Sets the name of the file to which XBoard saves debug information
2458 (including all communication to and from the engines).
2460 -engineDebugOutput number
2461 Specifies how XBoard should handle unsolicited output from the
2462 engine, with respect to saving it in the debug file. The output
2463 is further (hopefully) ignored. If number=0, XBoard refrains from
2464 writing such spurious output to the debug file. If number=1, all
2465 engine output is written faithfully to the debug file. If
2466 number=2, any protocol-violating line is prefixed with a '#'
2467 character, as the engine itself should have done if it wanted to
2468 submit info for inclusion in the debug file. This option is
2469 provided for the benefit of applications that use the debug file
2470 as a source of information, such as the broadcaster of live games
2471 TLCV / TLCS. Such applications can be protected from spurious
2472 engine output that might otherwise confuse them.
2474 -rsh or -remoteShell shell-name
2475 Name of the command used to run programs remotely. The default is
2476 `rsh' or `remsh', determined when XBoard is configured and
2479 -ruser or -remoteUser user-name
2480 User name on the remote system when running programs with the
2481 `remoteShell'. The default is your local user name.
2484 Name under which the Human player will be listed in the PGN file.
2485 Default is the login name on your local computer.
2487 -delayBeforeQuit number
2488 -delayAfterQuit number
2489 These options specify how long XBoard has to wait before sending a
2490 termination signal to rogue engine processes, that do not want to
2491 react to the 'quit' command. The second one determines the pause
2492 after killing the engine, to make sure it dies.
2498 An "Internet Chess Server", or "ICS", is a place on the Internet where
2499 people can get together to play chess, watch other people's games, or
2500 just chat. You can use either `telnet' or a client program like XBoard
2501 to connect to the server. There are thousands of registered users on
2502 the different ICS hosts, and it is not unusual to meet 200 on both
2503 chessclub.com and freechess.org.
2505 Most people can just type `xboard -ics' to start XBoard as an ICS
2506 client. Invoking XBoard in this way connects you to the Internet Chess
2507 Club (ICC), a commercial ICS. You can log in there as a guest even if
2508 you do not have a paid account. To connect to the largest Free ICS
2509 (FICS), use the command `xboard -ics -icshost freechess.org' instead,
2510 or substitute a different host name to connect to your favorite ICS.
2511 For a full description of command-line options that control the
2512 connection to ICS and change the default values of ICS options, see
2513 *note ICS options::.
2515 While you are running XBoard as an ICS client, you use the terminal
2516 window that you started XBoard from as a place to type in commands and
2517 read information that is not available on the chessboard.
2519 The first time you need to use the terminal is to enter your login
2520 name and password, if you are a registered player. (You don't need to do
2521 this manually; the `icsLogon' option can do it for you. *note ICS
2522 options::.) If you are not registered, enter `g' as your name, and the
2523 server will pick a unique guest name for you.
2525 Some useful ICS commands include
2527 to get help on the given <topic>. To get a list of possible topics
2528 type "help" without topic. Try the help command before you ask
2529 other people on the server for help.
2531 For example `help register' tells you how to become a registered
2535 to see a list of people who are logged on. Administrators (people
2536 you should talk to if you have a problem) are marked with the
2537 character `*', an asterisk. The <flags> allow you to display only
2538 selected players: For example, `who of' shows a list of players
2539 who are interested in playing but do not have an opponent.
2542 to see what games are being played
2544 `match <player> [<mins>] [<inc>]'
2545 to challenge another player to a game. Both opponents get <mins>
2546 minutes for the game, and <inc> seconds will be added after each
2547 move. If another player challenges you, the server asks if you
2548 want to accept the challenge; use the `accept' or `decline'
2553 to accept or decline another player's offer. The offer may be to
2554 start a new game, or to agree to a `draw', `adjourn' or `abort'
2555 the current game. *Note Action Menu::.
2557 If you have more than one pending offer (for example, if more than
2558 one player is challenging you, or if your opponent offers both a
2559 draw and to adjourn the game), you have to supply additional
2560 information, by typing something like `accept <player>', `accept
2566 asks your opponent to terminate a game by mutual agreement.
2567 Adjourned games can be continued later. Your opponent can either
2568 `decline' your offer or accept it (by typing the same command or
2569 typing `accept'). In some cases these commands work immediately,
2570 without asking your opponent to agree. For example, you can abort
2571 the game unilaterally if your opponent is out of time, and you can
2572 claim a draw by repetition or the 50-move rule if available simply
2576 to get information about the given <player>. (Default: yourself.)
2579 to get a list of personal settings
2582 to modify these settings
2585 to observe an ongoing game of the given <player>.
2589 to review a recently completed game
2591 Some special XBoard features are activated when you are in examine
2592 mode on ICS. See the descriptions of the menu commands `Forward',
2593 `Backward', `Pause', `ICS Client', and `Stop Examining' on the *note
2594 Edit Menu::, *note Mode Menu::, and *note Action Menu::.
2599 By default, XBoard communicates with an Internet Chess Server by
2600 opening a TCP socket directly from the machine it is running on to the
2601 ICS. If there is a firewall between your machine and the ICS, this
2602 won't work. Here are some recipes for getting around common kinds of
2603 firewalls using special options to XBoard. Important: See the
2604 paragraph in the below about extra echoes, in *note Limitations::.
2606 Suppose that you can't telnet directly to ICS, but you can telnet to
2607 a firewall host, log in, and then telnet from there to ICS. Let's say
2608 the firewall is called `firewall.example.com'. Set command-line options
2611 xboard -ics -icshost firewall.example.com -icsport 23
2612 Or in your `.Xresources' file:
2614 XBoard*internetChessServerHost: firewall.example.com
2615 XBoard*internetChessServerPort: 23
2616 Then when you run XBoard in ICS mode, you will be prompted to log in
2617 to the firewall host. This works because port 23 is the standard telnet
2618 login service. Do so, then telnet to ICS, using a command like `telnet
2619 chessclub.com 5000', or whatever command the firewall provides for
2620 telnetting to port 5000.
2622 If your firewall lets you telnet (or rlogin) to remote hosts but
2623 doesn't let you telnet to port 5000, you may be able to connect to the
2624 chess server on port 23 instead, which is the port the telnet program
2625 uses by default. Some chess servers support this (including
2626 chessclub.com and freechess.org), while some do not.
2628 If your chess server does not allow connections on port 23 and your
2629 firewall does not allow you to connect to other ports, you may be able
2630 to connect by hopping through another host outside the firewall that
2631 you have an account on. For instance, suppose you have a shell account
2632 at `foo.edu'. Follow the recipe above, but instead of typing `telnet
2633 chessclub.com 5000' to the firewall, type `telnet foo.edu' (or `rlogin
2634 foo.edu'), log in there, and then type `telnet chessclub.com 5000'.
2636 Suppose that you can't telnet directly to ICS, but you can use rsh
2637 to run programs on a firewall host, and that host can telnet to ICS.
2638 Let's say the firewall is called `rsh.example.com'. Set command-line
2641 xboard -ics -gateway rsh.example.com -icshost chessclub.com
2643 Or in your `.Xresources' file:
2645 XBoard*gateway: rsh.example.com
2646 XBoard*internetChessServerHost: chessclub.com
2648 Then when you run XBoard in ICS mode, it will connect to the ICS by
2649 using `rsh' to run the command `telnet chessclub.com 5000' on host
2652 Suppose that you can telnet anywhere you want, but you have to run a
2653 special program called `ptelnet' to do so.
2655 First, we'll consider the easy case, in which `ptelnet chessclub.com
2656 5000' gets you to the chess server. In this case set command line
2659 xboard -ics -telnet -telnetProgram ptelnet
2661 Or in your `.Xresources' file:
2663 XBoard*useTelnet: true
2664 XBoard*telnetProgram: ptelnet
2666 Then when you run XBoard in ICS mode, it will issue the command
2667 `ptelnet chessclub.com 5000' to connect to the ICS.
2669 Next, suppose that `ptelnet chessclub.com 5000' doesn't work; that
2670 is, your `ptelnet' program doesn't let you connect to alternative
2671 ports. As noted above, your chess server may allow you to connect on
2672 port 23 instead. In that case, just add the option `-icsport ""' to
2673 the above command, or add `XBoard*internetChessServerPort:' to your
2674 `.Xresources' file. But if your chess server doesn't let you connect
2675 on port 23, you will have to find some other host outside the firewall
2676 and hop through it. For instance, suppose you have a shell account at
2677 `foo.edu'. Set command line options as follows:
2679 xboard -ics -telnet -telnetProgram ptelnet -icshost foo.edu -icsport ""
2681 Or in your `.Xresources' file:
2683 XBoard*useTelnet: true
2684 XBoard*telnetProgram: ptelnet
2685 XBoard*internetChessServerHost: foo.edu
2686 XBoard*internetChessServerPort:
2688 Then when you run XBoard in ICS mode, it will issue the command
2689 `ptelnet foo.edu' to connect to your account at `foo.edu'. Log in
2690 there, then type `telnet chessclub.com 5000'.
2692 ICC timestamp and FICS timeseal do not work through some firewalls.
2693 You can use them only if your firewall gives a clean TCP connection
2694 with a full 8-bit wide path. If your firewall allows you to get out
2695 only by running a special telnet program, you can't use timestamp or
2696 timeseal across it. But if you have access to a computer just outside
2697 your firewall, and you have much lower netlag when talking to that
2698 computer than to the ICS, it might be worthwhile running timestamp
2699 there. Follow the instructions above for hopping through a host
2700 outside the firewall (foo.edu in the example), but run timestamp or
2701 timeseal on that host instead of telnet.
2703 Suppose that you have a SOCKS firewall that will give you a clean
2704 8-bit wide TCP connection to the chess server, but only after you
2705 authenticate yourself via the SOCKS protocol. In that case, you could
2706 make a socksified version of XBoard and run that. If you are using
2707 timestamp or timeseal, you will to socksify it, not XBoard; this may be
2708 difficult seeing that ICC and FICS do not provide source code for these
2709 programs. Socksification is beyond the scope of this document, but see
2710 the SOCKS Web site at http://www.socks.permeo.com/. If you are missing
2711 SOCKS, try http://www.funbureau.com/.
2713 7 Environment variables
2714 ***********************
2716 Game and position files are found in a directory named by the
2717 `CHESSDIR' environment variable. If this variable is not set, the
2718 current working directory is used. If `CHESSDIR' is set, XBoard
2719 actually changes its working directory to `$CHESSDIR', so any files
2720 written by the chess engine will be placed there too.
2722 8 Limitations and known bugs
2723 ****************************
2725 There is no way for two people running copies of XBoard to play each
2726 other without going through an Internet Chess Server.
2728 Under some circumstances, your ICS password may be echoed when you
2731 If you are connecting to the ICS by running telnet on an Internet
2732 provider or firewall host, you may find that each line you type is
2733 echoed back an extra time after you hit <Enter>. If your Internet
2734 provider is a Unix system, you can probably turn its echo off by typing
2735 `stty -echo' after you log in, and/or typing <^E><Enter> (Ctrl+E
2736 followed by the Enter key) to the telnet program after you have logged
2737 into ICS. It is a good idea to do this if you can, because the extra
2738 echo can occasionally confuse XBoard's parsing routines.
2740 The game parser recognizes only algebraic notation.
2742 Many of the following points used to be limitations in XBoard 4.2.7
2743 and earlier, but are now fixed: The internal move legality tester in
2744 XBoard 4.3.xx does look at the game history, and is fully aware of
2745 castling or en-passant-capture rights. It permits castling with the
2746 king on the d file because this is possible in some "wild 1" games on
2747 ICS. The piece-drop menu does not check piece drops in bughouse to see
2748 if you actually hold the piece you are trying to drop. But this way of
2749 dropping pieces should be considered an obsolete feature, now that
2750 pieces can be dropped by dragging them from the holdings to the board.
2751 Anyway, if you would attempt an illegal move when using a chess engine
2752 or the ICS, XBoard will accept the error message that comes back, undo
2753 the move, and let you try another. FEN positions saved by XBoard do
2754 include correct information about whether castling or en passant are
2755 legal, and also handle the 50-move counter. The mate detector does not
2756 understand that non-contact mate is not really mate in bughouse. The
2757 only problem this causes while playing is minor: a "#" (mate indicator)
2758 character will show up after a non-contact mating move in the move
2759 list. XBoard will not assume the game is over at that point, not even
2760 when the option Detect Mates is on. Edit Game mode always uses the
2761 rules of the selected variant, which can be a variant that uses piece
2762 drops. You can load and edit games that contain piece drops. The
2763 (obsolete) piece menus are not active, but you can perform piece drops
2764 by dragging pieces from the holdings. Fischer Random castling is fully
2765 understood. You can enter castlings by dragging the King on top of
2766 your Rook. You can probably also play Fischer Random successfully on
2767 ICS by typing castling moves into the ICS Interaction window.
2769 The menus may not work if your keyboard is in Caps Lock or Num Lock
2770 mode. This seems to be a problem with the Athena menu widget, not an
2773 Also see the ToDo file included with the distribution for many other
2774 possible bugs, limitations, and ideas for improvement that have been
2777 9 Reporting problems
2778 ********************
2780 You can report bugs and problems with XBoard using the bug tracker at
2781 `https://savannah.gnu.org/projects/xboard/' or by sending mail to
2782 `<bug-xboard@gnu.org>'. It can also be useful to report or discuss
2783 bugs in the WinBoard Forum at `http://www.open-aurec.com/wbforum/',
2784 WinBoard development section.
2786 Please use the `script' program to start a typescript, run XBoard
2787 with the `-debug' option, and include the typescript output in your
2788 message. Also tell us what kind of machine and what operating system
2789 version you are using. The command `uname -a' will often tell you this.
2791 If you improve XBoard, please send a message about your changes, and
2792 we will get in touch with you about merging them in to the main line of
2795 10 Authors and contributors
2796 ***************************
2798 Chris Sears and Dan Sears wrote the original XBoard. They were
2799 responsible for versions 1.0 through 1.2. The color scheme was taken
2800 from Wayne Christopher's `XChess' program.
2802 Tim Mann was primarily responsible for XBoard versions 1.3 through
2803 4.2.7, and for WinBoard (a port of XBoard to Microsoft Win32) from its
2804 inception through version 4.2.7.
2806 John Chanak contributed the initial implementation of ICS mode. Evan
2807 Welsh wrote `CMail', and Patrick Surry helped in designing, testing,
2808 and documenting it. Elmar Bartel contributed the new piece bitmaps
2809 introduced in version 3.2. Jochen Wiedmann converted the documentation
2810 to texinfo. Frank McIngvale added click/click moving, the Analysis
2811 modes, piece flashing, ZIICS import, and ICS text colorization to
2812 XBoard. Hugh Fisher added animated piece movement to XBoard, and
2813 Henrik Gram added it to WinBoard. Mark Williams contributed the
2814 initial (WinBoard-only) implementation of many new features added to
2815 both XBoard and WinBoard in version 4.1.0, including copy/paste,
2816 premove, icsAlarm, autoFlipView, training mode, auto raise, and
2817 blindfold. Ben Nye contributed X copy/paste code for XBoard.
2819 In a fork from version 4.2.7, Alessandro Scotti added many elements
2820 to the user interface of WinBoard, including the board textures and
2821 font-based rendering, the evaluation-graph, move-history and
2822 engine-output window. He was also responsible for adding the UCI
2825 H. G. Muller continued this fork of the project, producing version
2826 4.3. He made WinBoard castling- and e.p.-aware, added variant support
2827 with adjustable board sizes, the crazyhouse holdings, and the fairy
2828 pieces. In addition he added most of the adjudication options, made
2829 WinBoard more robust in dealing with buggy and crashing engines, and
2830 extended time control with a time-odds and node-count-based modes.
2831 Most of the options that initially were WinBoard only have now been
2832 back-ported to XBoard.
2834 Michel van den Bergh provided the code for reading Polyglot opening
2837 Meanwhile, some work continued on the GNU XBoard project maintained
2838 at savannah.gnu.org, but version 4.2.8 was never released. Daniel
2839 Mehrmann was responsible for much of this work.
2841 Most recently, Arun Persaud worked with H. G. Muller to merge all
2842 the features of the never-released XBoard/WinBoard 4.2.8 of the GNU
2843 XBoard project and the never-released 4.3.16 from H. G.'s fork into a
2844 unified XBoard/WinBoard 4.4, which is now available both from the
2845 savannah.gnu.org web site and the WinBoard forum.
2850 The `cmail' program can help you play chess by email with opponents of
2851 your choice using XBoard as an interface.
2853 You will usually run `cmail' without giving any options.
2859 Displays `cmail' usage information.
2862 Shows the conditions of the GNU General Public License. *Note
2866 Shows the warranty notice of the GNU General Public License.
2871 Provides or inhibits verbose output from `cmail' and XBoard,
2872 useful for debugging. The `-xv' form also inhibits the cmail
2873 introduction message.
2877 Invokes or inhibits the sending of a mail message containing the
2882 Invokes or inhibits the running of XBoard on the game file.
2886 Invokes or inhibits the reuse of an existing XBoard to display the
2890 Resends the last mail message for that game. This inhibits running
2894 The name of the game to be processed.
2899 Number of games to start as White, as Black or in total. Default
2900 is 1 as white and none as black. If only one color is specified
2901 then none of the other color is assumed. If no color is specified
2902 then equal numbers of White and Black games are started, with the
2903 extra game being as White if an odd number of total games is
2908 A one-word alias for yourself or your opponent.
2913 -oppname <full name>
2914 The full name of White, Black, yourself or your opponent.
2919 -oppna <net address>
2920 The email address of White, Black, yourself or your opponent.
2923 The directory in which `cmail' keeps its files. This defaults to
2924 the environment variable `$CMAIL_DIR' or failing that, `$CHESSDIR',
2925 `$HOME/Chess' or `~/Chess'. It will be created if it does not
2929 The directory in which `cmail' archives completed games. Defaults
2930 to the environment variable `$CMAIL_ARCDIR' or, in its absence,
2931 the same directory as cmail keeps its working files (above).
2933 -mailprog <mail program>
2934 The program used by cmail to send email messages. This defaults to
2935 the environment variable `$CMAIL_MAILPROG' or failing that
2936 `/usr/ucb/Mail', `/usr/ucb/mail' or `Mail'. You will need to set
2937 this variable if none of the above paths fit your system.
2940 A file in which to dump verbose debugging messages that are
2941 invoked with the `-v' option.
2944 The PGN Event tag (default `Email correspondence game').
2947 The PGN Site tag (default `NET').
2950 The PGN Round tag (default `-', not applicable).
2953 The PGN Mode tag (default `EM', Electronic Mail).
2956 Any option flags not listed above are passed through to XBoard.
2957 Invoking XBoard through CMail changes the default values of two
2958 XBoard options: The default value for `-noChessProgram' is changed
2959 to true; that is, by default no chess engine is started. The
2960 default value for `-timeDelay' is changed to 0; that is, by default
2961 XBoard immediately goes to the end of the game as played so far,
2962 rather than stepping through the moves one by one. You can still
2963 set these options to whatever values you prefer by supplying them
2964 on CMail's command line. *Note Options::.
2966 11.2 Starting a CMail Game
2967 ==========================
2969 Type `cmail' from a shell to start a game as white. After an opening
2970 message, you will be prompted for a game name, which is optional--if you
2971 simply press <Enter>, the game name will take the form
2972 `you-VS-opponent'. You will next be prompted for the short name of your
2973 opponent. If you haven't played this person before, you will also be
2974 prompted for his/her email address. `cmail' will then invoke XBoard in
2975 the background. Make your first move and select `Mail Move' from the
2976 `File' menu. *Note File Menu::. If all is well, `cmail' will mail a
2977 copy of the move to your opponent. If you select `Exit' without having
2978 selected `Mail Move' then no move will be made.
2980 11.3 Answering a Move
2981 =====================
2983 When you receive a message from an opponent containing a move in one of
2984 your games, simply pipe the message through `cmail'. In some mailers
2985 this is as simple as typing `| cmail' when viewing the message, while in
2986 others you may have to save the message to a file and do `cmail < file'
2987 at the command line. In either case `cmail' will display the game using
2988 XBoard. If you didn't exit XBoard when you made your first move then
2989 `cmail' will do its best to use the existing XBoard instead of starting
2990 a new one. As before, simply make a move and select `Mail Move' from
2991 the `File' menu. *Note File Menu::. `cmail' will try to use the XBoard
2992 that was most recently used to display the current game. This means
2993 that many games can be in progress simultaneously, each with its own
2996 If you want to look at the history or explore a variation, go ahead,
2997 but you must return to the current position before XBoard will allow you
2998 to mail a move. If you edit the game's history you must select `Reload
2999 Same Game' from the `File' menu to get back to the original position,
3000 then make the move you want and select `Mail Move'. As before, if you
3001 decide you aren't ready to make a move just yet you can either select
3002 `Exit' without sending a move or just leave XBoard running until you
3005 11.4 Multi-Game Messages
3006 ========================
3008 It is possible to have a `cmail' message carry more than one game.
3009 This feature was implemented to handle IECG (International Email Chess
3010 Group) matches, where a match consists of one game as white and one as
3011 black, with moves transmitted simultaneously. In case there are more
3012 general uses, `cmail' itself places no limit on the number of
3013 black/white games contained in a message; however, XBoard does.
3015 11.5 Completing a Game
3016 ======================
3018 Because XBoard can detect checkmate and stalemate, `cmail' handles game
3019 termination sensibly. As well as resignation, the `Action' menu allows
3020 draws to be offered and accepted for `cmail' games.
3022 For multi-game messages, only unfinished and just-finished games
3023 will be included in email messages. When all the games are finished,
3024 they are archived in the user's archive directory, and similarly in the
3025 opponent's when he or she pipes the final message through `cmail'. The
3026 archive file name includes the date the game was started.
3028 11.6 Known CMail Problems
3029 =========================
3031 It's possible that a strange conjunction of conditions may occasionally
3032 mean that `cmail' has trouble reactivating an existing XBoard. If this
3033 should happen, simply trying it again should work. If not, remove the
3034 file that stores the XBoard's PID (`game.pid') or use the `-xreuse'
3035 option to force `cmail' to start a new XBoard.
3037 Versions of `cmail' after 2.16 no longer understand the old file
3038 format that XBoard used to use and so cannot be used to correspond with
3039 anyone using an older version.
3041 Versions of `cmail' older than 2.11 do not handle multi-game
3042 messages, so multi-game correspondence is not possible with opponents
3043 using an older version.
3045 12 Other programs you can use with XBoard
3046 *****************************************
3048 Here are some other programs you can use with XBoard
3053 The GNU Chess engine is available from:
3055 ftp://ftp.gnu.org/gnu/gnuchess/
3057 You can use XBoard to play a game against GNU Chess, or to interface
3058 GNU Chess to an ICS.
3063 Fairy-Max is a derivative from the once World's smallest Chess program
3064 micro-Max, which measures only about 100 lines of source code. The
3065 main difference with micro-Max is that Fairy-Max loads its
3066 move-generator tables from a file, so that the rules for piece movement
3067 can be easily configured to implement unorthodox pieces. Fairy-Max can
3068 therefore play a large number of variants, normal Chess being one of
3069 those. In addition it plays Knightmate, Capablanca and Gothic Chess,
3070 Shatranj, Courier Chess, Cylinder chess, Berolina Chess, while the user
3071 can easily define new variants. It can be obtained from:
3073 http://home.hccnet.nl/h.g.muller/dwnldpage.html
3078 HoiChess is a not-so-very-strong Chess engine, which comes with a
3079 derivative HoiXiangqi, able to play Chinese Chess. It can be obtained
3080 from the standard Linux repositories through:
3082 sudo apt-get install hoichess
3087 Crafty is a chess engine written by Bob Hyatt. You can use XBoard to
3088 play a game against Crafty, hook Crafty up to an ICS, or use Crafty to
3089 interactively analyze games and positions for you.
3091 Crafty is a strong, rapidly evolving chess program. This rapid pace
3092 of development is good, because it means Crafty is always getting
3093 better. This can sometimes cause problems with backwards
3094 compatibility, but usually the latest version of Crafty will work well
3095 with the latest version of XBoard. Crafty can be obtained from its
3096 author's FTP site: ftp://ftp.cis.uab.edu/hyatt/.
3098 To use Crafty with XBoard, give the -fcp and -fd options as follows,
3099 where <crafty's directory> is the directory in which you installed
3100 Crafty and placed its book and other support files.
3105 The "zic2xpm" program is used to import chess sets from the ZIICS(*)
3106 program into XBoard. "zic2xpm" is part of the XBoard distribution.
3107 ZIICS is available from:
3109 ftp://ftp.freechess.org/pub/chess/DOS/ziics131.exe
3111 To import ZIICS pieces, do this:
3112 1. Unzip ziics131.exe into a directory:
3113 unzip -L ziics131.exe -d ~/ziics
3115 2. Use zic2xpm to convert a set of pieces to XBoard format.
3116 For example, let's say you want to use the FRITZ4 set. These files
3117 are named "fritz4.*" in the ZIICS distribution.
3121 zic2xpm ~/ziics/fritz4.*
3123 3. Give XBoard the "-pixmap" option when starting up, e.g.:
3124 xboard -pixmap ~/fritz4
3126 Alternatively, you can add this line to your `.Xresources' file:
3128 xboard*pixmapDirectory: ~/fritz4
3130 (*) ZIICS is a separate copyrighted work of Andy McFarland. The
3131 "ZIICS pieces" are copyrighted works of their respective creators.
3132 Files produced by "zic2xpm" are for PERSONAL USE ONLY and may NOT be
3133 redistributed without explicit permission from the original creator(s)
3139 Copyright (C) 1991 Digital Equipment Corporation, Maynard,
3142 All Rights Reserved.
3144 Permission to use, copy, modify, and distribute this software and its
3145 documentation for any purpose and without fee is hereby granted,
3146 provided that the above copyright notice appear in all copies and that
3147 both that copyright notice and this permission notice appear in
3148 supporting documentation, and that the name of Digital not be used in
3149 advertising or publicity pertaining to distribution of the software
3150 without specific, written prior permission.
3152 Digital disclaims all warranties with regard to this software,
3153 including all implied warranties of merchantability and fitness. In no
3154 event shall Digital be liable for any special, indirect or
3155 consequential damages or any damages whatsoever resulting from loss of
3156 use, data or profits, whether in an action of contract, negligence or
3157 other tortious action, arising out of or in connection with the use or
3158 performance of this software.
3160 Enhancements copyright (C) 1992-2003, 2004, 2005, 2006, 2007, 2008,
3161 2009, 2010, 2011 Free Software Foundation, Inc.
3163 Published by the Free Software Foundation
3164 59 Temple Place - Suite 330
3165 Boston, MA 02111-1307 USA
3167 Permission is granted to make and distribute verbatim copies of this
3168 manual provided the copyright notice and this permission notice are
3169 preserved on all copies.
3171 Permission is granted to copy and distribute modified versions of
3172 this manual under the conditions for verbatim copying, provided also
3173 that the section entitled "GNU General Public License," is included
3174 exactly as in the original, and provided that the entire resulting
3175 derived work is distributed under the terms of a permission notice
3176 identical to this one.
3178 Permission is granted to copy and distribute translations of this
3179 manual into another language, under the above conditions for modified
3180 versions, except that the section entitled "GNU General Public License,"
3181 and this permission notice, may be included in translations approved by
3182 the Free Software Foundation instead of in the original English.
3184 GNU GENERAL PUBLIC LICENSE
3185 **************************
3187 Version 3, 29 June 2007
3189 Copyright (C) 2007 Free Software Foundation, Inc. `http://fsf.org/'
3191 Everyone is permitted to copy and distribute verbatim copies of this
3192 license document, but changing it is not allowed.
3197 The GNU General Public License is a free, copyleft license for software
3198 and other kinds of works.
3200 The licenses for most software and other practical works are designed
3201 to take away your freedom to share and change the works. By contrast,
3202 the GNU General Public License is intended to guarantee your freedom to
3203 share and change all versions of a program--to make sure it remains
3204 free software for all its users. We, the Free Software Foundation, use
3205 the GNU General Public License for most of our software; it applies
3206 also to any other work released this way by its authors. You can apply
3207 it to your programs, too.
3209 When we speak of free software, we are referring to freedom, not
3210 price. Our General Public Licenses are designed to make sure that you
3211 have the freedom to distribute copies of free software (and charge for
3212 them if you wish), that you receive source code or can get it if you
3213 want it, that you can change the software or use pieces of it in new
3214 free programs, and that you know you can do these things.
3216 To protect your rights, we need to prevent others from denying you
3217 these rights or asking you to surrender the rights. Therefore, you
3218 have certain responsibilities if you distribute copies of the software,
3219 or if you modify it: responsibilities to respect the freedom of others.
3221 For example, if you distribute copies of such a program, whether
3222 gratis or for a fee, you must pass on to the recipients the same
3223 freedoms that you received. You must make sure that they, too, receive
3224 or can get the source code. And you must show them these terms so they
3227 Developers that use the GNU GPL protect your rights with two steps:
3228 (1) assert copyright on the software, and (2) offer you this License
3229 giving you legal permission to copy, distribute and/or modify it.
3231 For the developers' and authors' protection, the GPL clearly explains
3232 that there is no warranty for this free software. For both users' and
3233 authors' sake, the GPL requires that modified versions be marked as
3234 changed, so that their problems will not be attributed erroneously to
3235 authors of previous versions.
3237 Some devices are designed to deny users access to install or run
3238 modified versions of the software inside them, although the
3239 manufacturer can do so. This is fundamentally incompatible with the
3240 aim of protecting users' freedom to change the software. The
3241 systematic pattern of such abuse occurs in the area of products for
3242 individuals to use, which is precisely where it is most unacceptable.
3243 Therefore, we have designed this version of the GPL to prohibit the
3244 practice for those products. If such problems arise substantially in
3245 other domains, we stand ready to extend this provision to those domains
3246 in future versions of the GPL, as needed to protect the freedom of
3249 Finally, every program is threatened constantly by software patents.
3250 States should not allow patents to restrict development and use of
3251 software on general-purpose computers, but in those that do, we wish to
3252 avoid the special danger that patents applied to a free program could
3253 make it effectively proprietary. To prevent this, the GPL assures that
3254 patents cannot be used to render the program non-free.
3256 The precise terms and conditions for copying, distribution and
3257 modification follow.
3259 TERMS AND CONDITIONS
3260 ====================
3264 "This License" refers to version 3 of the GNU General Public
3267 "Copyright" also means copyright-like laws that apply to other
3268 kinds of works, such as semiconductor masks.
3270 "The Program" refers to any copyrightable work licensed under this
3271 License. Each licensee is addressed as "you". "Licensees" and
3272 "recipients" may be individuals or organizations.
3274 To "modify" a work means to copy from or adapt all or part of the
3275 work in a fashion requiring copyright permission, other than the
3276 making of an exact copy. The resulting work is called a "modified
3277 version" of the earlier work or a work "based on" the earlier work.
3279 A "covered work" means either the unmodified Program or a work
3280 based on the Program.
3282 To "propagate" a work means to do anything with it that, without
3283 permission, would make you directly or secondarily liable for
3284 infringement under applicable copyright law, except executing it
3285 on a computer or modifying a private copy. Propagation includes
3286 copying, distribution (with or without modification), making
3287 available to the public, and in some countries other activities as
3290 To "convey" a work means any kind of propagation that enables other
3291 parties to make or receive copies. Mere interaction with a user
3292 through a computer network, with no transfer of a copy, is not
3295 An interactive user interface displays "Appropriate Legal Notices"
3296 to the extent that it includes a convenient and prominently visible
3297 feature that (1) displays an appropriate copyright notice, and (2)
3298 tells the user that there is no warranty for the work (except to
3299 the extent that warranties are provided), that licensees may
3300 convey the work under this License, and how to view a copy of this
3301 License. If the interface presents a list of user commands or
3302 options, such as a menu, a prominent item in the list meets this
3307 The "source code" for a work means the preferred form of the work
3308 for making modifications to it. "Object code" means any
3309 non-source form of a work.
3311 A "Standard Interface" means an interface that either is an
3312 official standard defined by a recognized standards body, or, in
3313 the case of interfaces specified for a particular programming
3314 language, one that is widely used among developers working in that
3317 The "System Libraries" of an executable work include anything,
3318 other than the work as a whole, that (a) is included in the normal
3319 form of packaging a Major Component, but which is not part of that
3320 Major Component, and (b) serves only to enable use of the work
3321 with that Major Component, or to implement a Standard Interface
3322 for which an implementation is available to the public in source
3323 code form. A "Major Component", in this context, means a major
3324 essential component (kernel, window system, and so on) of the
3325 specific operating system (if any) on which the executable work
3326 runs, or a compiler used to produce the work, or an object code
3327 interpreter used to run it.
3329 The "Corresponding Source" for a work in object code form means all
3330 the source code needed to generate, install, and (for an executable
3331 work) run the object code and to modify the work, including
3332 scripts to control those activities. However, it does not include
3333 the work's System Libraries, or general-purpose tools or generally
3334 available free programs which are used unmodified in performing
3335 those activities but which are not part of the work. For example,
3336 Corresponding Source includes interface definition files
3337 associated with source files for the work, and the source code for
3338 shared libraries and dynamically linked subprograms that the work
3339 is specifically designed to require, such as by intimate data
3340 communication or control flow between those subprograms and other
3343 The Corresponding Source need not include anything that users can
3344 regenerate automatically from other parts of the Corresponding
3347 The Corresponding Source for a work in source code form is that
3350 2. Basic Permissions.
3352 All rights granted under this License are granted for the term of
3353 copyright on the Program, and are irrevocable provided the stated
3354 conditions are met. This License explicitly affirms your unlimited
3355 permission to run the unmodified Program. The output from running
3356 a covered work is covered by this License only if the output,
3357 given its content, constitutes a covered work. This License
3358 acknowledges your rights of fair use or other equivalent, as
3359 provided by copyright law.
3361 You may make, run and propagate covered works that you do not
3362 convey, without conditions so long as your license otherwise
3363 remains in force. You may convey covered works to others for the
3364 sole purpose of having them make modifications exclusively for
3365 you, or provide you with facilities for running those works,
3366 provided that you comply with the terms of this License in
3367 conveying all material for which you do not control copyright.
3368 Those thus making or running the covered works for you must do so
3369 exclusively on your behalf, under your direction and control, on
3370 terms that prohibit them from making any copies of your
3371 copyrighted material outside their relationship with you.
3373 Conveying under any other circumstances is permitted solely under
3374 the conditions stated below. Sublicensing is not allowed; section
3375 10 makes it unnecessary.
3377 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
3379 No covered work shall be deemed part of an effective technological
3380 measure under any applicable law fulfilling obligations under
3381 article 11 of the WIPO copyright treaty adopted on 20 December
3382 1996, or similar laws prohibiting or restricting circumvention of
3385 When you convey a covered work, you waive any legal power to forbid
3386 circumvention of technological measures to the extent such
3387 circumvention is effected by exercising rights under this License
3388 with respect to the covered work, and you disclaim any intention
3389 to limit operation or modification of the work as a means of
3390 enforcing, against the work's users, your or third parties' legal
3391 rights to forbid circumvention of technological measures.
3393 4. Conveying Verbatim Copies.
3395 You may convey verbatim copies of the Program's source code as you
3396 receive it, in any medium, provided that you conspicuously and
3397 appropriately publish on each copy an appropriate copyright notice;
3398 keep intact all notices stating that this License and any
3399 non-permissive terms added in accord with section 7 apply to the
3400 code; keep intact all notices of the absence of any warranty; and
3401 give all recipients a copy of this License along with the Program.
3403 You may charge any price or no price for each copy that you convey,
3404 and you may offer support or warranty protection for a fee.
3406 5. Conveying Modified Source Versions.
3408 You may convey a work based on the Program, or the modifications to
3409 produce it from the Program, in the form of source code under the
3410 terms of section 4, provided that you also meet all of these
3413 a. The work must carry prominent notices stating that you
3414 modified it, and giving a relevant date.
3416 b. The work must carry prominent notices stating that it is
3417 released under this License and any conditions added under
3418 section 7. This requirement modifies the requirement in
3419 section 4 to "keep intact all notices".
3421 c. You must license the entire work, as a whole, under this
3422 License to anyone who comes into possession of a copy. This
3423 License will therefore apply, along with any applicable
3424 section 7 additional terms, to the whole of the work, and all
3425 its parts, regardless of how they are packaged. This License
3426 gives no permission to license the work in any other way, but
3427 it does not invalidate such permission if you have separately
3430 d. If the work has interactive user interfaces, each must display
3431 Appropriate Legal Notices; however, if the Program has
3432 interactive interfaces that do not display Appropriate Legal
3433 Notices, your work need not make them do so.
3435 A compilation of a covered work with other separate and independent
3436 works, which are not by their nature extensions of the covered
3437 work, and which are not combined with it such as to form a larger
3438 program, in or on a volume of a storage or distribution medium, is
3439 called an "aggregate" if the compilation and its resulting
3440 copyright are not used to limit the access or legal rights of the
3441 compilation's users beyond what the individual works permit.
3442 Inclusion of a covered work in an aggregate does not cause this
3443 License to apply to the other parts of the aggregate.
3445 6. Conveying Non-Source Forms.
3447 You may convey a covered work in object code form under the terms
3448 of sections 4 and 5, provided that you also convey the
3449 machine-readable Corresponding Source under the terms of this
3450 License, in one of these ways:
3452 a. Convey the object code in, or embodied in, a physical product
3453 (including a physical distribution medium), accompanied by the
3454 Corresponding Source fixed on a durable physical medium
3455 customarily used for software interchange.
3457 b. Convey the object code in, or embodied in, a physical product
3458 (including a physical distribution medium), accompanied by a
3459 written offer, valid for at least three years and valid for
3460 as long as you offer spare parts or customer support for that
3461 product model, to give anyone who possesses the object code
3462 either (1) a copy of the Corresponding Source for all the
3463 software in the product that is covered by this License, on a
3464 durable physical medium customarily used for software
3465 interchange, for a price no more than your reasonable cost of
3466 physically performing this conveying of source, or (2) access
3467 to copy the Corresponding Source from a network server at no
3470 c. Convey individual copies of the object code with a copy of
3471 the written offer to provide the Corresponding Source. This
3472 alternative is allowed only occasionally and noncommercially,
3473 and only if you received the object code with such an offer,
3474 in accord with subsection 6b.
3476 d. Convey the object code by offering access from a designated
3477 place (gratis or for a charge), and offer equivalent access
3478 to the Corresponding Source in the same way through the same
3479 place at no further charge. You need not require recipients
3480 to copy the Corresponding Source along with the object code.
3481 If the place to copy the object code is a network server, the
3482 Corresponding Source may be on a different server (operated
3483 by you or a third party) that supports equivalent copying
3484 facilities, provided you maintain clear directions next to
3485 the object code saying where to find the Corresponding Source.
3486 Regardless of what server hosts the Corresponding Source, you
3487 remain obligated to ensure that it is available for as long
3488 as needed to satisfy these requirements.
3490 e. Convey the object code using peer-to-peer transmission,
3491 provided you inform other peers where the object code and
3492 Corresponding Source of the work are being offered to the
3493 general public at no charge under subsection 6d.
3496 A separable portion of the object code, whose source code is
3497 excluded from the Corresponding Source as a System Library, need
3498 not be included in conveying the object code work.
3500 A "User Product" is either (1) a "consumer product", which means
3501 any tangible personal property which is normally used for personal,
3502 family, or household purposes, or (2) anything designed or sold for
3503 incorporation into a dwelling. In determining whether a product
3504 is a consumer product, doubtful cases shall be resolved in favor of
3505 coverage. For a particular product received by a particular user,
3506 "normally used" refers to a typical or common use of that class of
3507 product, regardless of the status of the particular user or of the
3508 way in which the particular user actually uses, or expects or is
3509 expected to use, the product. A product is a consumer product
3510 regardless of whether the product has substantial commercial,
3511 industrial or non-consumer uses, unless such uses represent the
3512 only significant mode of use of the product.
3514 "Installation Information" for a User Product means any methods,
3515 procedures, authorization keys, or other information required to
3516 install and execute modified versions of a covered work in that
3517 User Product from a modified version of its Corresponding Source.
3518 The information must suffice to ensure that the continued
3519 functioning of the modified object code is in no case prevented or
3520 interfered with solely because modification has been made.
3522 If you convey an object code work under this section in, or with,
3523 or specifically for use in, a User Product, and the conveying
3524 occurs as part of a transaction in which the right of possession
3525 and use of the User Product is transferred to the recipient in
3526 perpetuity or for a fixed term (regardless of how the transaction
3527 is characterized), the Corresponding Source conveyed under this
3528 section must be accompanied by the Installation Information. But
3529 this requirement does not apply if neither you nor any third party
3530 retains the ability to install modified object code on the User
3531 Product (for example, the work has been installed in ROM).
3533 The requirement to provide Installation Information does not
3534 include a requirement to continue to provide support service,
3535 warranty, or updates for a work that has been modified or
3536 installed by the recipient, or for the User Product in which it
3537 has been modified or installed. Access to a network may be denied
3538 when the modification itself materially and adversely affects the
3539 operation of the network or violates the rules and protocols for
3540 communication across the network.
3542 Corresponding Source conveyed, and Installation Information
3543 provided, in accord with this section must be in a format that is
3544 publicly documented (and with an implementation available to the
3545 public in source code form), and must require no special password
3546 or key for unpacking, reading or copying.
3548 7. Additional Terms.
3550 "Additional permissions" are terms that supplement the terms of
3551 this License by making exceptions from one or more of its
3552 conditions. Additional permissions that are applicable to the
3553 entire Program shall be treated as though they were included in
3554 this License, to the extent that they are valid under applicable
3555 law. If additional permissions apply only to part of the Program,
3556 that part may be used separately under those permissions, but the
3557 entire Program remains governed by this License without regard to
3558 the additional permissions.
3560 When you convey a copy of a covered work, you may at your option
3561 remove any additional permissions from that copy, or from any part
3562 of it. (Additional permissions may be written to require their own
3563 removal in certain cases when you modify the work.) You may place
3564 additional permissions on material, added by you to a covered work,
3565 for which you have or can give appropriate copyright permission.
3567 Notwithstanding any other provision of this License, for material
3568 you add to a covered work, you may (if authorized by the copyright
3569 holders of that material) supplement the terms of this License
3572 a. Disclaiming warranty or limiting liability differently from
3573 the terms of sections 15 and 16 of this License; or
3575 b. Requiring preservation of specified reasonable legal notices
3576 or author attributions in that material or in the Appropriate
3577 Legal Notices displayed by works containing it; or
3579 c. Prohibiting misrepresentation of the origin of that material,
3580 or requiring that modified versions of such material be
3581 marked in reasonable ways as different from the original
3584 d. Limiting the use for publicity purposes of names of licensors
3585 or authors of the material; or
3587 e. Declining to grant rights under trademark law for use of some
3588 trade names, trademarks, or service marks; or
3590 f. Requiring indemnification of licensors and authors of that
3591 material by anyone who conveys the material (or modified
3592 versions of it) with contractual assumptions of liability to
3593 the recipient, for any liability that these contractual
3594 assumptions directly impose on those licensors and authors.
3596 All other non-permissive additional terms are considered "further
3597 restrictions" within the meaning of section 10. If the Program as
3598 you received it, or any part of it, contains a notice stating that
3599 it is governed by this License along with a term that is a further
3600 restriction, you may remove that term. If a license document
3601 contains a further restriction but permits relicensing or
3602 conveying under this License, you may add to a covered work
3603 material governed by the terms of that license document, provided
3604 that the further restriction does not survive such relicensing or
3607 If you add terms to a covered work in accord with this section, you
3608 must place, in the relevant source files, a statement of the
3609 additional terms that apply to those files, or a notice indicating
3610 where to find the applicable terms.
3612 Additional terms, permissive or non-permissive, may be stated in
3613 the form of a separately written license, or stated as exceptions;
3614 the above requirements apply either way.
3618 You may not propagate or modify a covered work except as expressly
3619 provided under this License. Any attempt otherwise to propagate or
3620 modify it is void, and will automatically terminate your rights
3621 under this License (including any patent licenses granted under
3622 the third paragraph of section 11).
3624 However, if you cease all violation of this License, then your
3625 license from a particular copyright holder is reinstated (a)
3626 provisionally, unless and until the copyright holder explicitly
3627 and finally terminates your license, and (b) permanently, if the
3628 copyright holder fails to notify you of the violation by some
3629 reasonable means prior to 60 days after the cessation.
3631 Moreover, your license from a particular copyright holder is
3632 reinstated permanently if the copyright holder notifies you of the
3633 violation by some reasonable means, this is the first time you have
3634 received notice of violation of this License (for any work) from
3635 that copyright holder, and you cure the violation prior to 30 days
3636 after your receipt of the notice.
3638 Termination of your rights under this section does not terminate
3639 the licenses of parties who have received copies or rights from
3640 you under this License. If your rights have been terminated and
3641 not permanently reinstated, you do not qualify to receive new
3642 licenses for the same material under section 10.
3644 9. Acceptance Not Required for Having Copies.
3646 You are not required to accept this License in order to receive or
3647 run a copy of the Program. Ancillary propagation of a covered work
3648 occurring solely as a consequence of using peer-to-peer
3649 transmission to receive a copy likewise does not require
3650 acceptance. However, nothing other than this License grants you
3651 permission to propagate or modify any covered work. These actions
3652 infringe copyright if you do not accept this License. Therefore,
3653 by modifying or propagating a covered work, you indicate your
3654 acceptance of this License to do so.
3656 10. Automatic Licensing of Downstream Recipients.
3658 Each time you convey a covered work, the recipient automatically
3659 receives a license from the original licensors, to run, modify and
3660 propagate that work, subject to this License. You are not
3661 responsible for enforcing compliance by third parties with this
3664 An "entity transaction" is a transaction transferring control of an
3665 organization, or substantially all assets of one, or subdividing an
3666 organization, or merging organizations. If propagation of a
3667 covered work results from an entity transaction, each party to that
3668 transaction who receives a copy of the work also receives whatever
3669 licenses to the work the party's predecessor in interest had or
3670 could give under the previous paragraph, plus a right to
3671 possession of the Corresponding Source of the work from the
3672 predecessor in interest, if the predecessor has it or can get it
3673 with reasonable efforts.
3675 You may not impose any further restrictions on the exercise of the
3676 rights granted or affirmed under this License. For example, you
3677 may not impose a license fee, royalty, or other charge for
3678 exercise of rights granted under this License, and you may not
3679 initiate litigation (including a cross-claim or counterclaim in a
3680 lawsuit) alleging that any patent claim is infringed by making,
3681 using, selling, offering for sale, or importing the Program or any
3686 A "contributor" is a copyright holder who authorizes use under this
3687 License of the Program or a work on which the Program is based.
3688 The work thus licensed is called the contributor's "contributor
3691 A contributor's "essential patent claims" are all patent claims
3692 owned or controlled by the contributor, whether already acquired or
3693 hereafter acquired, that would be infringed by some manner,
3694 permitted by this License, of making, using, or selling its
3695 contributor version, but do not include claims that would be
3696 infringed only as a consequence of further modification of the
3697 contributor version. For purposes of this definition, "control"
3698 includes the right to grant patent sublicenses in a manner
3699 consistent with the requirements of this License.
3701 Each contributor grants you a non-exclusive, worldwide,
3702 royalty-free patent license under the contributor's essential
3703 patent claims, to make, use, sell, offer for sale, import and
3704 otherwise run, modify and propagate the contents of its
3705 contributor version.
3707 In the following three paragraphs, a "patent license" is any
3708 express agreement or commitment, however denominated, not to
3709 enforce a patent (such as an express permission to practice a
3710 patent or covenant not to sue for patent infringement). To
3711 "grant" such a patent license to a party means to make such an
3712 agreement or commitment not to enforce a patent against the party.
3714 If you convey a covered work, knowingly relying on a patent
3715 license, and the Corresponding Source of the work is not available
3716 for anyone to copy, free of charge and under the terms of this
3717 License, through a publicly available network server or other
3718 readily accessible means, then you must either (1) cause the
3719 Corresponding Source to be so available, or (2) arrange to deprive
3720 yourself of the benefit of the patent license for this particular
3721 work, or (3) arrange, in a manner consistent with the requirements
3722 of this License, to extend the patent license to downstream
3723 recipients. "Knowingly relying" means you have actual knowledge
3724 that, but for the patent license, your conveying the covered work
3725 in a country, or your recipient's use of the covered work in a
3726 country, would infringe one or more identifiable patents in that
3727 country that you have reason to believe are valid.
3729 If, pursuant to or in connection with a single transaction or
3730 arrangement, you convey, or propagate by procuring conveyance of, a
3731 covered work, and grant a patent license to some of the parties
3732 receiving the covered work authorizing them to use, propagate,
3733 modify or convey a specific copy of the covered work, then the
3734 patent license you grant is automatically extended to all
3735 recipients of the covered work and works based on it.
3737 A patent license is "discriminatory" if it does not include within
3738 the scope of its coverage, prohibits the exercise of, or is
3739 conditioned on the non-exercise of one or more of the rights that
3740 are specifically granted under this License. You may not convey a
3741 covered work if you are a party to an arrangement with a third
3742 party that is in the business of distributing software, under
3743 which you make payment to the third party based on the extent of
3744 your activity of conveying the work, and under which the third
3745 party grants, to any of the parties who would receive the covered
3746 work from you, a discriminatory patent license (a) in connection
3747 with copies of the covered work conveyed by you (or copies made
3748 from those copies), or (b) primarily for and in connection with
3749 specific products or compilations that contain the covered work,
3750 unless you entered into that arrangement, or that patent license
3751 was granted, prior to 28 March 2007.
3753 Nothing in this License shall be construed as excluding or limiting
3754 any implied license or other defenses to infringement that may
3755 otherwise be available to you under applicable patent law.
3757 12. No Surrender of Others' Freedom.
3759 If conditions are imposed on you (whether by court order,
3760 agreement or otherwise) that contradict the conditions of this
3761 License, they do not excuse you from the conditions of this
3762 License. If you cannot convey a covered work so as to satisfy
3763 simultaneously your obligations under this License and any other
3764 pertinent obligations, then as a consequence you may not convey it
3765 at all. For example, if you agree to terms that obligate you to
3766 collect a royalty for further conveying from those to whom you
3767 convey the Program, the only way you could satisfy both those
3768 terms and this License would be to refrain entirely from conveying
3771 13. Use with the GNU Affero General Public License.
3773 Notwithstanding any other provision of this License, you have
3774 permission to link or combine any covered work with a work licensed
3775 under version 3 of the GNU Affero General Public License into a
3776 single combined work, and to convey the resulting work. The terms
3777 of this License will continue to apply to the part which is the
3778 covered work, but the special requirements of the GNU Affero
3779 General Public License, section 13, concerning interaction through
3780 a network will apply to the combination as such.
3782 14. Revised Versions of this License.
3784 The Free Software Foundation may publish revised and/or new
3785 versions of the GNU General Public License from time to time.
3786 Such new versions will be similar in spirit to the present
3787 version, but may differ in detail to address new problems or
3790 Each version is given a distinguishing version number. If the
3791 Program specifies that a certain numbered version of the GNU
3792 General Public License "or any later version" applies to it, you
3793 have the option of following the terms and conditions either of
3794 that numbered version or of any later version published by the
3795 Free Software Foundation. If the Program does not specify a
3796 version number of the GNU General Public License, you may choose
3797 any version ever published by the Free Software Foundation.
3799 If the Program specifies that a proxy can decide which future
3800 versions of the GNU General Public License can be used, that
3801 proxy's public statement of acceptance of a version permanently
3802 authorizes you to choose that version for the Program.
3804 Later license versions may give you additional or different
3805 permissions. However, no additional obligations are imposed on any
3806 author or copyright holder as a result of your choosing to follow a
3809 15. Disclaimer of Warranty.
3811 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
3812 APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
3813 COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
3814 WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
3815 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
3816 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
3817 RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
3818 SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
3819 NECESSARY SERVICING, REPAIR OR CORRECTION.
3821 16. Limitation of Liability.
3823 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
3824 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES
3825 AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
3826 FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
3827 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
3828 THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
3829 BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
3830 PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
3831 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
3832 THE POSSIBILITY OF SUCH DAMAGES.
3834 17. Interpretation of Sections 15 and 16.
3836 If the disclaimer of warranty and limitation of liability provided
3837 above cannot be given local legal effect according to their terms,
3838 reviewing courts shall apply local law that most closely
3839 approximates an absolute waiver of all civil liability in
3840 connection with the Program, unless a warranty or assumption of
3841 liability accompanies a copy of the Program in return for a fee.
3844 END OF TERMS AND CONDITIONS
3845 ===========================
3847 How to Apply These Terms to Your New Programs
3848 =============================================
3850 If you develop a new program, and you want it to be of the greatest
3851 possible use to the public, the best way to achieve this is to make it
3852 free software which everyone can redistribute and change under these
3855 To do so, attach the following notices to the program. It is safest
3856 to attach them to the start of each source file to most effectively
3857 state the exclusion of warranty; and each file should have at least the
3858 "copyright" line and a pointer to where the full notice is found.
3860 ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
3861 Copyright (C) YEAR NAME OF AUTHOR
3863 This program is free software: you can redistribute it and/or modify
3864 it under the terms of the GNU General Public License as published by
3865 the Free Software Foundation, either version 3 of the License, or (at
3866 your option) any later version.
3868 This program is distributed in the hope that it will be useful, but
3869 WITHOUT ANY WARRANTY; without even the implied warranty of
3870 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3871 General Public License for more details.
3873 You should have received a copy of the GNU General Public License
3874 along with this program. If not, see `http://www.gnu.org/licenses/'.
3876 Also add information on how to contact you by electronic and paper
3879 If the program does terminal interaction, make it output a short
3880 notice like this when it starts in an interactive mode:
3882 PROGRAM Copyright (C) YEAR NAME OF AUTHOR
3883 This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
3884 This is free software, and you are welcome to redistribute it
3885 under certain conditions; type `show c' for details.
3887 The hypothetical commands `show w' and `show c' should show the
3888 appropriate parts of the General Public License. Of course, your
3889 program's commands might be different; for a GUI interface, you would
3892 You should also get your employer (if you work as a programmer) or
3893 school, if any, to sign a "copyright disclaimer" for the program, if
3894 necessary. For more information on this, and how to apply and follow
3895 the GNU GPL, see `http://www.gnu.org/licenses/'.
3897 The GNU General Public License does not permit incorporating your
3898 program into proprietary programs. If your program is a subroutine
3899 library, you may consider it more useful to permit linking proprietary
3900 applications with the library. If this is what you want to do, use the
3901 GNU Lesser General Public License instead of this License. But first,
3902 please read `http://www.gnu.org/philosophy/why-not-lgpl.html'.
3907 -animateSpeed, option: See 4.5. (line 2252)
3908 -autoDisplayComment, option: See 4.5. (line 2257)
3909 -autoDisplayTags, option: See 4.5. (line 2257)
3910 -pasteSelection, option: See 4.5. (line 2263)
3911 .icsrc: See 4.3. (line 1665)
3912 <, Button: See 3.2. (line 354)
3913 <<, Button: See 3.2. (line 387)
3914 >, Button: See 3.2. (line 374)
3915 >>, Button: See 3.2. (line 406)
3916 abort, ICS command: See 5. (line 2566)
3917 Abort, Menu Item: See 3.5. (line 640)
3918 About XBoard, Menu Item: See 3.8. (line 1167)
3919 accept, ICS command: See 5. (line 2553)
3920 Accept, Menu Item: See 3.5. (line 612)
3921 Action, Menu: See 3.5. (line 611)
3922 adjourn, ICS command: See 5. (line 2566)
3923 Adjourn, Menu Item: See 3.5. (line 635)
3924 Adjudicate Draw, Menu Item: See 3.5. (line 668)
3925 Adjudicate to Black, Menu Item: See 3.5. (line 668)
3926 Adjudicate to White, Menu Item: See 3.5. (line 668)
3927 adjudicateDrawMoves, option: See 4.6. (line 2279)
3928 adjudicateLossThreshold, option: See 4.6. (line 2271)
3929 Adjudications, Menu Item: See 3.7. (line 758)
3930 alarm, option: See 4.3. (line 1753)
3931 Always Queen, Menu Item: See 3.7. (line 856)
3932 alwaysPromoteToQueen, option: See 4.5. (line 2033)
3933 Analysis Mode, Menu Item: See 3.4. (line 501)
3934 Analyze File, Menu Item: See 3.4. (line 523)
3935 Animate Dragging, Menu Item: See 3.7. (line 863)
3936 Animate Moving, Menu Item: See 3.7. (line 870)
3937 animate, option: See 4.5. (line 2248)
3938 animateDragging, option: See 4.5. (line 2244)
3939 animateMoving, option: See 4.5. (line 2248)
3940 Animation Speed, Menu Item: See 3.7. (line 1004)
3941 Annotate, Menu Item: See 3.2. (line 330)
3942 at sign, option: See 4.4. (line 1986)
3943 Authors: See 10. (line 2798)
3944 Auto Comment, Menu Item: See 3.7. (line 1021)
3945 Auto Flag, Menu Item: See 3.7. (line 879)
3946 Auto Flip View, Menu Item: See 3.7. (line 889)
3947 Auto Kibitz, Menu Item: See 3.7. (line 1012)
3948 Auto Observe, Menu Item: See 3.7. (line 1029)
3949 Auto Raise Board, Menu Item: See 3.7. (line 1042)
3950 Auto Save, Menu Item: See 3.7. (line 1047)
3951 Auto-Refresh Seek Graph, Menu Item: See 3.7. (line 1089)
3952 autobs, option: See 4.3. (line 1692)
3953 autoCallFlag, option: See 4.3. (line 1688)
3954 autocomm, option: See 4.3. (line 1684)
3955 autoComment, option: See 4.3. (line 1684)
3956 autoflag, option: See 4.3. (line 1688)
3957 autoflip, option: See 4.5. (line 2084)
3958 autoFlipView, option: See 4.5. (line 2084)
3959 autoKibitz, option: See 4.3. (line 1696)
3960 autoObserve, option: See 4.3. (line 1692)
3961 autoraise, option: See 4.5. (line 2080)
3962 autoRaiseBoard, option: See 4.5. (line 2080)
3963 autoRefresh, option: See 4.3. (line 1713)
3964 autosave, option: See 4.4. (line 1935)
3965 autoSaveGames, option: See 4.4. (line 1935)
3966 ave Game Options, Menu Item: See 3.7. (line 807)
3967 Back to Start, Menu Item: See 3.2. (line 387)
3968 Background Observe, Menu Item: See 3.7. (line 1054)
3969 backgroundObserve, option: See 4.3. (line 1719)
3970 Backward, Menu Item: See 3.2. (line 354)
3971 Basic operation: See 2. (line 57)
3972 bell, option: See 4.5. (line 2020)
3973 bitmapDirectory, option: See 4.5. (line 2175)
3974 blackPieceColor, option: See 4.5. (line 2222)
3975 blind, option: See 4.5. (line 2142)
3976 Blindfold, Menu Item: See 3.7. (line 902)
3977 blindfold, option: See 4.5. (line 2142)
3978 bm, option: See 4.5. (line 2175)
3979 board size: See 4.5. (line 2041)
3980 Board, Menu Item: See 3.3. (line 474)
3981 boardHeight, option: See 4.7. (line 2403)
3982 boardSize, option: See 4.5. (line 2041)
3983 boardWidth, option: See 4.7. (line 2408)
3984 Book, Menu Item: See 3.6. (line 699)
3985 Bug reports: See 9. (line 2780)
3986 Bugs <1>: See 9. (line 2780)
3987 Bugs: See 8. (line 2725)
3988 buttons, option: See 4.5. (line 2106)
3989 Call Flag, Menu Item: See 3.5. (line 624)
3990 checkMates, option: See 4.6. (line 2284)
3991 Chess engine options: See 4.1. (line 1261)
3992 CHESSDIR: See 7. (line 2716)
3993 clock, option: See 4.1. (line 1278)
3994 clockFont, option: See 4.5. (line 2146)
3995 clockMode, option: See 4.1. (line 1278)
3996 cmail: See 11. (line 2850)
3997 colorChallenge, option: See 4.3. (line 1786)
3998 colorChannel, option: See 4.3. (line 1786)
3999 colorChannel1, option: See 4.3. (line 1786)
4000 Colorize Messages, Menu Item: See 3.7. (line 1124)
4001 colorize, option: See 4.3. (line 1772)
4002 colorKibitz, option: See 4.3. (line 1786)
4003 colorNormal, option: See 4.3. (line 1786)
4004 colorRequest, option: See 4.3. (line 1786)
4005 Colors <1>: See 4.5. (line 2222)
4006 Colors: See 4.3. (line 1772)
4007 colorSeek, option: See 4.3. (line 1786)
4008 colorShout, option: See 4.3. (line 1786)
4009 colorSShout, option: See 4.3. (line 1786)
4010 colorTell, option: See 4.3. (line 1786)
4011 Comments, Menu Item: See 3.3. (line 462)
4012 Common Engine, Menu Item: See 3.7. (line 734)
4013 Contributors: See 10. (line 2798)
4014 coordFont, option: See 4.5. (line 2152)
4015 coords, option: See 4.5. (line 2076)
4016 Copy Game, Menu Item: See 3.2. (line 236)
4017 Copy Position, Menu Item: See 3.2. (line 245)
4018 darkSquareColor, option: See 4.5. (line 2222)
4019 debug, option: See 4.7. (line 2454)
4020 debugFile, option: See 4.7. (line 2457)
4021 debugMode, option: See 4.7. (line 2454)
4022 decline, ICS command: See 5. (line 2553)
4023 Decline, Menu Item: See 3.5. (line 618)
4024 defaultCacheSizeEGTB, option: See 4.2. (line 1546)
4025 defaultFrcPosition, option: See 4.7. (line 2423)
4026 defaultHashSize, option: See 4.2. (line 1540)
4027 defaultPathEGTB, option: See 4.2. (line 1552)
4028 delayAfterQuit, option: See 4.7. (line 2489)
4029 delayBeforeQuit, option: See 4.7. (line 2489)
4030 display, option: See 4.5. (line 2011)
4031 drag, option: See 4.5. (line 2244)
4032 draw, ICS command: See 5. (line 2566)
4033 Draw, Menu Item: See 3.5. (line 630)
4034 Drop Menu, Menu Item: See 3.7. (line 908)
4035 dropMenu, option: See 4.3. (line 1882)
4036 Dual Board, Menu Item: See 3.7. (line 1061)
4037 dualBoard, option: See 4.3. (line 1733)
4038 Edit Comment, Menu Item: See 3.2. (line 324)
4039 Edit Game, Menu Item: See 3.2. (line 264)
4040 Edit Menu: See 3.2. (line 235)
4041 Edit Position, Menu Item: See 3.2. (line 280)
4042 Edit Tags, Menu Item: See 3.2. (line 300)
4043 egtFormats, option: See 4.2. (line 1556)
4044 Engine #1 Settings, Menu Item: See 3.6. (line 677)
4045 Engine #2 Settings, Menu Item: See 3.6. (line 677)
4046 Engine Menu: See 3.6. (line 676)
4047 Engine Settings: See 4.2. (line 1508)
4048 Engine Settings, Menu Item: See 3.6. (line 677)
4049 engineDebugOutput, option: See 4.7. (line 2461)
4050 Environment variables: See 7. (line 2716)
4051 examine, ICS command: See 5. (line 2589)
4052 Exit, Menu Item: See 3.1. (line 230)
4053 exit, option: See 4.5. (line 2025)
4054 fb, option: See 4.1. (line 1385)
4055 fcp, option: See 4.1. (line 1378)
4056 fd, option: See 4.1. (line 1400)
4057 fh, option: See 4.1. (line 1392)
4058 File Menu: See 3.1. (line 112)
4059 finger, ICS command: See 5. (line 2576)
4060 First Black Move, Menu Item: See 3.7. (line 1099)
4061 First White Move, Menu Item: See 3.7. (line 1099)
4062 firstChessProgram, option: See 4.1. (line 1378)
4063 firstComputerString, option: See 4.1. (line 1436)
4064 firstDirectory, option: See 4.1. (line 1400)
4065 firstHasOwnBookUCI, option: See 4.2. (line 1535)
4066 firstHost, option: See 4.1. (line 1392)
4067 firstIsUCI, option: See 4.2. (line 1510)
4068 firstNeedsNoncompliantFEN, option: See 4.1. (line 1486)
4069 firstNPS, option: See 4.1. (line 1301)
4070 firstOptions, option: See 4.1. (line 1475)
4071 firstPlaysBlack, option: See 4.1. (line 1385)
4072 firstProtocolVersion, option: See 4.1. (line 1453)
4073 firstScoreAbs, option: See 4.1. (line 1461)
4074 firstTimeOdds, option: See 4.1. (line 1319)
4075 firstXBook, option: See 4.2. (line 1535)
4076 Flash Moves, Menu Item: See 3.7. (line 999)
4077 Flash Rate, Menu Item: See 3.7. (line 999)
4078 flash, option: See 4.5. (line 2125)
4079 flashCount, option: See 4.5. (line 2125)
4080 flashRate, option: See 4.5. (line 2125)
4081 Flip View, Menu Item: See 3.3. (line 421)
4082 flip, option: See 4.5. (line 2088)
4083 flipView, option: See 4.5. (line 2088)
4084 fNoOwnBookUCI, option: See 4.2. (line 1535)
4085 Font: See 4.5. (line 2159)
4086 Font, clock: See 4.5. (line 2146)
4087 Font, coordinates: See 4.5. (line 2152)
4088 font, option: See 4.5. (line 2159)
4089 fontSizeTolerance, option: See 4.5. (line 2165)
4090 Forward to End, Menu Item: See 3.2. (line 406)
4091 Forward, Menu Item: See 3.2. (line 374)
4092 fUCI, option: See 4.2. (line 1510)
4093 Game List Tags, Menu Item <1>: See 3.7. (line 822)
4094 Game List Tags, Menu Item: See 3.3. (line 483)
4095 gameListTags, option: See 4.4. (line 1977)
4096 games, ICS command: See 5. (line 2542)
4097 gateway, option: See 4.3. (line 1615)
4098 General Options, Menu Item: See 3.7. (line 852)
4099 geometry, option: See 4.5. (line 2011)
4100 Get Move List, Menu Item: See 3.7. (line 1066)
4101 getMoveList, option: See 4.3. (line 1749)
4102 Help Menu: See 3.8. (line 1152)
4103 help, ICS command: See 5. (line 2527)
4104 Hide Thinking, Menu Item: See 3.7. (line 975)
4105 highlight Arrow, option: See 4.5. (line 2138)
4106 Highlight Dragging, Menu Item: See 3.7. (line 914)
4107 Highlight Last Move, Menu Item: See 3.7. (line 922)
4108 Highlight with Arrow, Menu Item: See 3.7. (line 928)
4109 highlight, option: See 4.5. (line 2134)
4110 highlightLastMove, option: See 4.5. (line 2134)
4111 highlightMoveWithArrow, option: See 4.5. (line 2138)
4112 highlightSquareColor, option: See 4.5. (line 2222)
4113 Hint, Menu Item: See 3.6. (line 696)
4114 holdingsSize, option: See 4.7. (line 2415)
4115 iconic, option: See 4.5. (line 2011)
4116 ICS: See 5. (line 2498)
4117 ICS Alarm Time, Menu Item: See 3.7. (line 1114)
4118 ICS Alarm, Menu Item: See 3.7. (line 1114)
4119 ICS Client, Menu Item: See 3.4. (line 557)
4120 ICS Input Box, Menu Item: See 3.3. (line 467)
4121 ICS options: See 4.3. (line 1570)
4122 ICS Options, Menu Item: See 3.7. (line 1008)
4123 ICS, addresses: See 5. (line 2498)
4124 ics, option: See 4.3. (line 1571)
4125 icsAlarm, option: See 4.3. (line 1753)
4126 icsAlarmTime, option: See 4.3. (line 1757)
4127 icscomm, option: See 4.3. (line 1623)
4128 icshelper, option: See 4.3. (line 1589)
4129 icshost, option: See 4.3. (line 1576)
4130 icsinput, option: See 4.3. (line 1680)
4131 icslogon, option: See 4.3. (line 1665)
4132 icsport, option: See 4.3. (line 1585)
4133 inc, option: See 4.1. (line 1271)
4134 Info XBoard, Menu Item: See 3.8. (line 1153)
4135 init, option: See 4.4. (line 1986)
4136 initalMode, option: See 4.7. (line 2336)
4137 initString, option: See 4.1. (line 1409)
4138 Internet Chess Server: See 5. (line 2498)
4139 internetChessServerCommPort, option: See 4.3. (line 1623)
4140 internetChessServerHelper, option: See 4.3. (line 1589)
4141 internetChessServerHost, option: See 4.3. (line 1576)
4142 internetChessServerInputBox, option: See 4.3. (line 1680)
4143 internetChessServerLogonScript, option: See 4.3. (line 1665)
4144 internetChessServerMode, option: See 4.3. (line 1571)
4145 internetChessServerPort, option: See 4.3. (line 1585)
4147 See ``Introduction''. (line 9)
4148 Keys: See 3.9. (line 1172)
4149 legal, option: See 4.5. (line 2037)
4150 lgf, option: See 4.4. (line 1898)
4151 lgi, option: See 4.4. (line 1898)
4152 lightSquareColor, option: See 4.5. (line 2222)
4153 Limitations: See 8. (line 2725)
4154 Load and Save options: See 4.4. (line 1896)
4155 Load Game Options, Menu Item: See 3.7. (line 800)
4156 Load Game, Menu Item: See 3.1. (line 154)
4157 Load Next Game, Menu Item: See 3.9. (line 1182)
4158 Load Next Position, Menu Item: See 3.1. (line 196)
4159 Load Position, Menu Item: See 3.1. (line 187)
4160 Load Previous Game, Menu Item: See 3.9. (line 1186)
4161 Load Previous Position, Menu Item: See 3.1. (line 200)
4162 loadGameFile, option: See 4.4. (line 1898)
4163 loadGameIndex, option: See 4.4. (line 1898)
4164 loadPositionFile, option: See 4.4. (line 1940)
4165 loadPositionIndex, option: See 4.4. (line 1940)
4166 lowTimeWarning, option: See 4.3. (line 1761)
4167 lowTimeWarningColor, option: See 4.5. (line 2222)
4168 lpf, option: See 4.4. (line 1940)
4169 lpi, option: See 4.4. (line 1940)
4170 Machine Black, Menu Item: See 3.4. (line 493)
4171 Machine match, Menu Item: See 3.4. (line 581)
4172 Machine White, Menu Item: See 3.4. (line 489)
4173 Mail Move, Menu Item: See 3.1. (line 227)
4174 Major modes: See 1. (line 19)
4175 Man XBoard, Menu Item: See 3.8. (line 1160)
4176 Match Game Options, Menu Item: See 3.7. (line 781)
4177 matchGames, option: See 4.1. (line 1356)
4178 matchMode, option: See 4.1. (line 1368)
4179 materialDraws, option: See 4.6. (line 2296)
4180 Menu, Action: See 3.5. (line 611)
4181 Menu, Edit: See 3.2. (line 235)
4182 Menu, Engine: See 3.6. (line 676)
4183 Menu, File: See 3.1. (line 112)
4184 Menu, Help: See 3.8. (line 1152)
4185 Menu, Mode: See 3.4. (line 488)
4186 Menu, Options: See 3.7. (line 723)
4187 Menu, View: See 3.3. (line 420)
4188 Menus: See 3. (line 109)
4189 mg, option: See 4.1. (line 1356)
4190 mm, option: See 4.1. (line 1368)
4191 Mode Menu: See 3.4. (line 488)
4192 mode, option: See 4.7. (line 2336)
4193 mono, option: See 4.5. (line 2112)
4194 monoMode, option: See 4.5. (line 2112)
4195 Move Now, Menu Item: See 3.6. (line 709)
4196 Move Sound, Menu Item: See 3.7. (line 840)
4197 moves, option: See 4.3. (line 1749)
4198 movesound, option: See 4.5. (line 2020)
4199 movesPerSession, option: See 4.1. (line 1267)
4200 mps, option: See 4.1. (line 1267)
4201 msLoginDelay, option: See 4.3. (line 1674)
4202 nameOfDebugFile, option: See 4.7. (line 2457)
4203 ncp, option: See 4.7. (line 2331)
4204 New Game, Menu Item: See 3.1. (line 113)
4205 New Shuffle Game, Menu Item: See 3.1. (line 122)
4206 New variant, Menu Item: See 3.1. (line 135)
4207 niceEngines, option: See 4.1. (line 1467)
4208 noChessProgram, option: See 4.7. (line 2331)
4209 noGUI, option: See 4.5. (line 2014)
4210 observe, ICS command: See 5. (line 2585)
4211 oldmoves, ICS command: See 5. (line 2589)
4212 oldsave, option: See 4.4. (line 1973)
4213 oldSaveStyle, option: See 4.4. (line 1973)
4214 One-Click Moving, Menu Item: See 3.7. (line 933)
4215 oneClickMove, option: See 4.3. (line 1742)
4216 Options: See 4. (line 1235)
4217 Options Menu: See 3.7. (line 723)
4218 Options, adjudication: See 4.6. (line 2270)
4219 options, Chess engine: See 4.1. (line 1261)
4220 Options, ICS: See 4.3. (line 1570)
4221 Options, Load and Save: See 4.4. (line 1896)
4222 Options, miscellaneous: See 4.7. (line 2330)
4223 Options, User interface: See 4.5. (line 2008)
4224 Other programs: See 12. (line 3048)
4225 Paste Game, Menu Item: See 3.2. (line 255)
4226 Paste Position, Menu Item: See 3.2. (line 259)
4227 Pause, Menu Item: See 3.4. (line 585)
4228 Periodic Updates, Menu Item: See 3.7. (line 944)
4229 pgnEventHeader, option`: See 4.4. (line 1965)
4230 pgnExtendedInfo, option`: See 4.4. (line 1960)
4231 pieceToSquareTable, option: See 4.7. (line 2428)
4232 pixmap, option: See 4.5. (line 2175)
4233 pixmapDirectory, option: See 4.5. (line 2175)
4234 polyglotBook, option: See 4.2. (line 1524)
4235 polyglotDir, option: See 4.2. (line 1517)
4236 Ponder Next Move, Menu Item: See 3.7. (line 950)
4237 ponder, option: See 4.1. (line 1347)
4238 ponderNextMove, option: See 4.1. (line 1347)
4239 Popup Exit Message, Menu Item: See 3.7. (line 956)
4240 Popup Move Errors, Menu Item: See 3.7. (line 962)
4241 popup, option: See 4.5. (line 2029)
4242 popupExitMessage, option: See 4.5. (line 2025)
4243 popupMoveErrors, option: See 4.5. (line 2029)
4244 pre, option: See 4.3. (line 1765)
4245 Premove Black, Menu Item: See 3.7. (line 1099)
4246 Premove White, Menu Item: See 3.7. (line 1099)
4247 Premove, Menu Item: See 3.7. (line 1099)
4248 premove, option: See 4.3. (line 1765)
4249 Problems: See 9. (line 2780)
4250 queen, option: See 4.5. (line 2033)
4251 Quiet Play, Menu Item: See 3.7. (line 1078)
4252 quiet, option: See 4.3. (line 1768)
4253 quietPlay, option: See 4.3. (line 1768)
4254 Reload CMail Message, Menu Item: See 3.1. (line 227)
4255 Reload Same Game, Menu Item: See 3.9. (line 1191)
4256 Reload Same Position, Menu Item: See 3.9. (line 1195)
4257 remoteShell, option: See 4.7. (line 2475)
4258 remoteUser, option: See 4.7. (line 2480)
4259 Reporting bugs: See 9. (line 2780)
4260 Reporting problems: See 9. (line 2780)
4261 Resign, Menu Item: See 3.5. (line 646)
4262 Retract Move, Menu Item: See 3.6. (line 713)
4263 reuse, option: See 4.1. (line 1444)
4264 reuse2, option: See 4.1. (line 1444)
4265 reuseFirst, option: See 4.1. (line 1444)
4266 reuseSecond, option: See 4.1. (line 1444)
4267 Revert, Menu Item: See 3.2. (line 330)
4268 ringBellAfterMoves, option: See 4.5. (line 2020)
4269 rsh, option: See 4.7. (line 2475)
4270 ruleMoves, option: See 4.6. (line 2314)
4271 ruser, option: See 4.7. (line 2480)
4272 sameColorGames, option: See 4.1. (line 1372)
4273 Save Game, Menu Item: See 3.1. (line 205)
4274 Save Position, Menu Item: See 3.1. (line 217)
4275 Save Settings Now, Menu Item: See 3.7. (line 1130)
4276 Save Settings on Exit, Menu Item: See 3.7. (line 1144)
4277 saveGameFile, option: See 4.4. (line 1930)
4278 saveOutOfBookInfo, option`: See 4.4. (line 1969)
4279 savePositionFile, option: See 4.4. (line 1955)
4280 saveSettingsFile, option: See 4.4. (line 1986)
4281 scp, option: See 4.1. (line 1381)
4282 sd, option: See 4.1. (line 1292)
4283 searchDepth, option: See 4.1. (line 1292)
4284 searchTime, option: See 4.1. (line 1285)
4285 secondChessProgram, option: See 4.1. (line 1381)
4286 secondComputerString, option: See 4.1. (line 1436)
4287 secondDirectory, option: See 4.1. (line 1400)
4288 secondHasOwnBookUCI, option: See 4.2. (line 1535)
4289 secondHost, option: See 4.1. (line 1392)
4290 secondInitString, option: See 4.1. (line 1409)
4291 secondIsUCI, option: See 4.2. (line 1510)
4292 secondNeedsNoncompliantFEN, option: See 4.1. (line 1486)
4293 secondNPS, option: See 4.1. (line 1301)
4294 secondOptions, option: See 4.1. (line 1475)
4295 secondProtocolVersion, option: See 4.1. (line 1453)
4296 secondScoreAbs, option: See 4.1. (line 1461)
4297 secondTimeOdds, option: See 4.1. (line 1319)
4298 secondXBook, option: See 4.2. (line 1535)
4299 Seek Graph, Menu Item: See 3.7. (line 1084)
4300 seekGraph, option: See 4.3. (line 1704)
4301 set, ICS command: See 5. (line 2582)
4302 Settings, Engine: See 4.2. (line 1508)
4303 SettingsFile, option: See 4.4. (line 1986)
4304 sg, option: See 4.3. (line 1704)
4305 sgf, option: See 4.4. (line 1930)
4306 sh, option: See 4.1. (line 1392)
4307 Shortcut keys: See 3.9. (line 1172)
4308 Show Coords, Menu Item: See 3.7. (line 971)
4309 Show Engine Output, Menu Item: See 3.3. (line 426)
4310 Show Evaluation Graph, Menu Item: See 3.3. (line 447)
4311 Show Game List, Menu Item: See 3.3. (line 453)
4312 Show Move History, Menu Item: See 3.3. (line 441)
4313 showButtonBar, option: See 4.5. (line 2106)
4314 showCoords, option: See 4.5. (line 2076)
4315 showTargetSquares, option: See 4.5. (line 2117)
4316 showThinking, option: See 4.1. (line 1337)
4317 shuffleOpenings, option: See 4.1. (line 1500)
4318 size, option: See 4.5. (line 2041)
4319 sNoOwnBookUCI, option: See 4.2. (line 1535)
4320 Sound Options, Menu Item: See 3.7. (line 826)
4321 soundChallenge, option: See 4.3. (line 1835)
4322 soundChannel, option: See 4.3. (line 1835)
4323 soundDirectory, option: See 4.3. (line 1824)
4324 soundIcsAlarm, option: See 4.3. (line 1843)
4325 soundIcsDraw, option: See 4.3. (line 1854)
4326 soundIcsLoss, option: See 4.3. (line 1850)
4327 soundIcsUnfinished, option: See 4.3. (line 1858)
4328 soundIcsWin, option: See 4.3. (line 1846)
4329 soundKibitz, option: See 4.3. (line 1835)
4330 soundMove, option: See 4.3. (line 1840)
4331 soundProgram, option: See 4.3. (line 1815)
4332 soundRequest, option: See 4.3. (line 1835)
4333 Sounds: See 4.3. (line 1815)
4334 soundSeek, option: See 4.3. (line 1835)
4335 soundShout, option: See 4.3. (line 1835)
4336 soundSShout, option: See 4.3. (line 1835)
4337 soundTell, option: See 4.3. (line 1835)
4338 spf, option: See 4.4. (line 1955)
4339 st, option: See 4.1. (line 1285)
4340 Stop Examining, Menu Item: See 3.5. (line 655)
4341 Stop Observing, Menu Item: See 3.5. (line 650)
4342 sUCI, option: See 4.2. (line 1510)
4343 Tags, Menu Item: See 3.3. (line 457)
4344 tc, option: See 4.1. (line 1262)
4345 td, option: See 4.4. (line 1924)
4346 telnet, option: See 4.3. (line 1597)
4347 telnetProgram, option: See 4.3. (line 1606)
4348 Test Legality, Menu Item: See 3.7. (line 985)
4349 testClaims, option: See 4.6. (line 2290)
4350 testLegality, option: See 4.5. (line 2037)
4351 thinking, option: See 4.1. (line 1337)
4352 Time Control, Menu Item: See 3.7. (line 724)
4353 timeControl, option: See 4.1. (line 1262)
4354 timeDelay, option: See 4.4. (line 1924)
4355 timeIncrement, option: See 4.1. (line 1271)
4356 timeOddsMode, option: See 4.1. (line 1325)
4357 title, option: See 4.5. (line 2098)
4358 titleInWindow, option: See 4.5. (line 2098)
4359 Training, Menu Item: See 3.4. (line 547)
4360 trivialDraws, option: See 4.6. (line 2303)
4361 Truncate Game, Menu Item: See 3.2. (line 349)
4362 Two Machines, Menu Item: See 3.4. (line 497)
4363 Upload to Examine, Menu Item: See 3.5. (line 660)
4364 usePolyglotBook, option: See 4.2. (line 1521)
4365 User interface options: See 4.5. (line 2008)
4366 userName, option: See 4.7. (line 2484)
4367 useTelnet, option: See 4.3. (line 1597)
4368 variant, option: See 4.7. (line 2344)
4369 variations, option: See 4.3. (line 1888)
4370 vars, ICS command: See 5. (line 2579)
4371 View Menu: See 3.3. (line 420)
4372 whitePieceColor, option: See 4.5. (line 2222)
4373 who, ICS command: See 5. (line 2535)
4374 xflash, option: See 4.5. (line 2125)
4381 3 Menus, buttons, and keys
4390 3.9 Other Shortcut Keys
4392 4.1 Chess Engine Options
4393 4.2 UCI + WB Engine Settings
4395 4.4 Load and Save options
4396 4.5 User interface options
4397 4.6 Adjudication Options
4401 7 Environment variables
4402 8 Limitations and known bugs
4403 9 Reporting problems
4404 10 Authors and contributors
4407 11.2 Starting a CMail Game
4408 11.3 Answering a Move
4409 11.4 Multi-Game Messages
4410 11.5 Completing a Game
4411 11.6 Known CMail Problems
4412 12 Other programs you can use with XBoard
4419 GNU GENERAL PUBLIC LICENSE