1xboard(6) Games Manual xboard(6)
2
3
4
6 xboard - X graphical user interface for chess
7
9 xboard [options]
10 xboard -ics -icshost hostname [options]
11 xboard -ncp [options]
12 |pxboard
13 cmail [options]
14
15
17 XBoard is a graphical chessboard that can serve as a user interface to
18 chess engines (such as GNU Chess), the Internet Chess Servers, elec‐
19 tronic mail correspondence chess, or your own collection of saved
20 games.
21
22 This manual documents version 4.9.1 of XBoard.
23
24
26 XBoard always runs in one of four major modes. You select the major
27 mode from the command line when you start up XBoard.
28
29
30 xboard [options]
31 As an interface to GNU Chess or another chess engine running on
32 your machine, XBoard lets you play a game against the machine,
33 set up arbitrary positions, force variations, watch a game be‐
34 tween two chess engines, interactively analyze your stored games
35 or set up and analyze arbitrary positions. To run engines that
36 use the UCI standard XBoard will draw upon the Polyglot adapter
37 fully transparently, but you will need to have the polyglot
38 package installed for this to work.
39
40 xboard -ics -icshost hostname [options]
41 As Internet Chess Server (ICS) interface, XBoard lets you play
42 against other ICS users, observe games they are playing, or re‐
43 view games that have recently finished. Most of the ICS "wild"
44 chess variants are supported, including bughouse.
45
46 xboard -ncp [options]
47 XBoard can also be used simply as an electronic chessboard to
48 play through games. It will read and write game files and allow
49 you to play through variations manually. You can use it to
50 browse games off the net or review games you have saved. These
51 features are also available in the other modes.
52
53 |pxboard
54 If you want to pipe games into XBoard, use the supplied shell
55 script `pxboard'. For example, from the news reader `xrn', find
56 a message with one or more games in it, click the Save button,
57 and type `|pxboard' as the file name.
58
59 cmail [options]
60 As an interface to electronic mail correspondence chess, XBoard
61 works with the cmail program. See CMail below for instructions.
62
64 To move a piece, you can drag it with the left mouse button, or you can
65 click the left mouse button once on the piece, then once more on the
66 destination square. To under-promote a Pawn you can drag it backwards
67 until it morphs into the piece you want to promote to, after which you
68 drag that forward to the promotion square. Or after selecting the pawn
69 with a first click you can then click the promotion square and move the
70 mouse while keeping the button down until the piece that you want ap‐
71 pears in the promotion square. To castle you move the King to its des‐
72 tination or, in Chess960, on top of the Rook you want to castle with.
73 In crazyhouse, bughouse or shogi you can drag and drop pieces to the
74 board from the holdings squares displayed next to the board.
75
76 Old behavior, where right-clicking a square brings up a menu where you
77 can select what piece to drop on it can still be selected through the
78 `Drop Menu' option. Only in Edit Position mode right and middle click‐
79 ing a square is still used to put a piece on it, and the piece to drop
80 is selected by sweeping the mouse vertically with the button held down.
81
82 The default function of the right mouse button in other modes is to
83 display the position the chess program thinks it will end up in. While
84 moving the mouse vertically with this button pressed XBoard will step
85 through the principal variation to show how this position will be
86 reached. Lines of play displayed in the engine-output window, or PGN
87 variations in the comment window can similarly be played out on the
88 board, by right-clicking on them. Only in Analysis mode, when you walk
89 along a PV, releasing the mouse button might forward the game upto that
90 point, like you entered all previous PV moves. As the display of the
91 PV in that case starts after the first move a simple right-click will
92 play the move the engine indicates.
93
94 In Analysis mode you can also make a move by grabbing the piece with a
95 double-click of the left mouse button (or while keeping the `Ctrl' key
96 pressed). In this case the move you enter will not be played, but will
97 be excluded from the analysis of the current position. (Or included if
98 it was already excluded; it is a toggle.) This only works for engines
99 that support this feature.
100
101 When connected to an ICS, it is possible to call up a graphical repre‐
102 sentation of players seeking a game in stead of the chess board, when
103 the latter is not in use (i.e. when you are not playing or observing).
104 Left-clicking the display area will switch between this 'seek graph'
105 and the chess board. Hovering the mouse pointer over a dot will show
106 the details of the seek ad in the message field above the board. Left-
107 clicking the dot will challenge that player. Right-clicking a dot will
108 'push it to the back', to reveal any dots that were hidden behind it.
109 Right-clicking off dots will refresh the graph.
110
111 Most other XBoard commands are available from the menu bar. The most
112 frequently used commands also have shortcut keys or on-screen buttons.
113 These shortcut keystrokes are mostly non-printable characters. Typing
114 a letter or digit while the board window has focus will bring up a
115 type-in box with the typed letter already in it. You can use that to
116 type a move in situations where it is your turn to enter a move, type a
117 move number to call up the position after that move in the display, or,
118 in Edit Position mode, type a FEN. Some rarely used parameters can
119 only be set through options on the command line used to invoke XBoard.
120
121 XBoard uses a settings file, in which it can remember any changes to
122 the settings that are made through menus or command-line options, so
123 they will still apply when you restart XBoard for another session. The
124 settings can be saved into this file automatically when XBoard exits,
125 or on explicit request of the user. Note that the board window can be
126 sized by the user, but that this will not affect the size of the clocks
127 above it, and won't be remembered in the settings file. To persis‐
128 tently change the size of the clocks, use the `size' command-line op‐
129 tion when starting XBoard. The default name for the settings file is
130 /etc/xboard/xboard.conf, but in a standard install this file is only
131 used as a master settings file that determines the system-wide default
132 settings, and defers reading and writing of user settings to a user-
133 specific file like ~/.xboardrc in the user's home directory.
134
135 When XBoard is iconized, its graphical icon is a white knight if it is
136 White's turn to move, a black knight if it is Black's turn.
137
138
140 File Menu
141 New Game
142 Resets XBoard and the chess engine to the beginning of a new
143 chess game. The `Ctrl-N' key is a keyboard equivalent. In Inter‐
144 net Chess Server mode, clears the current state of XBoard, then
145 resynchronizes with the ICS by sending a refresh command. If you
146 want to stop playing, observing, or examining an ICS game, use
147 an appropriate command from the Action menu, not `New Game'.
148 See Action Menu.
149
150 New Shuffle Game
151 Similar to `New Game', but allows you to specify a particular
152 initial position (according to a standardized numbering system)
153 in chess variants which use randomized opening positions (e.g.
154 Chess960).
155
156 shuffle
157 Ticking `shuffle' will cause the current variant to be played
158 with shuffled initial position. Shuffling will preserve the
159 possibility to castle in the way allowed by the variant.
160
161 Fischer castling
162 Ticking `Fischer castling' will allow castling with Kings and
163 Rooks that did not start in their normal place, as in Chess960.
164
165 Start-position number
166 randomize
167 pick fixed
168 The `Start-position number' selects a particular start position
169 from all allowed shufflings, which will then be used for every
170 new game. Setting this to -1 (which can be done by pressing the
171 `randomize' button) will cause a fresh random position to be
172 picked for every new game. Pressing the `pick fixed' button
173 causes `Start-position number' to be set to a random value, to
174 be used for all subsequent games.
175
176 New Variant
177 Allows you to select a new chess variant in non-ICS mode. (In
178 ICS play, the ICS is responsible for deciding which variant will
179 be played, and XBoard adapts automatically.) The shifted
180 `Alt+V' key is a keyboard equivalent. If you play with an en‐
181 gine, the engine must be able to play the selected variant, or
182 the corresponding choice will be disabled. XBoard supports all
183 major variants, such as xiangqi, shogi, chess, chess960, makruk,
184 Capablanca Chess, shatranj, crazyhouse, bughouse.
185
186 You can overrule the default board format of the selected vari‐
187 ant, (e.g. to play suicide chess on a 6 x 6 board), in this dia‐
188 log, but normally you would not do that, and leave them at '-1',
189 which means 'default' for the chosen variant.
190
191 Load Game
192 Plays a game from a record file. The `Ctrl-O' key is a keyboard
193 equivalent. A pop-up dialog prompts you for the file name. If
194 the file contains more than one game, a second pop-up dialog
195 displays a list of games (with information drawn from their PGN
196 tags, if any), and you can select the one you want. Alterna‐
197 tively, you can load the Nth game in the file directly, by typ‐
198 ing the number `N' after the file name, separated by a space.
199
200 The game-file parser will accept PGN (portable game notation),
201 or in fact almost any file that contains moves in algebraic no‐
202 tation. Notation of the form `P@f7' is accepted for piece-drops
203 in bughouse games; this is a nonstandard extension to PGN. If
204 the file includes a PGN position (FEN tag), or an old-style
205 XBoard position diagram bracketed by `[--' and `--]' before the
206 first move, the game starts from that position. Text enclosed in
207 parentheses, square brackets, or curly braces is assumed to be
208 commentary and is displayed in a pop-up window. Any other text
209 in the file is ignored. PGN variations (enclosed in parentheses)
210 also are treated as comments; however, if you rights-click them
211 in the comment window, XBoard will shelve the current line, and
212 load the the selected variation, so you can step through it.
213 You can later revert to the previous line with the `Revert' com‐
214 mand. This way you can walk quite complex varation trees with
215 XBoard. The nonstandard PGN tag [Variant "varname"] functions
216 similarly to the -variant command-line option (see below), al‐
217 lowing games in certain chess variants to be loaded. Note that
218 it must appear before any FEN tag for XBoard to recognize vari‐
219 ant FENs appropriately. There is also a heuristic to recognize
220 chess variants from the Event tag, by looking for the strings
221 that the Internet Chess Servers put there when saving variant
222 ("wild") games.
223
224 Load Position
225 Sets up a position from a position file. A pop-up dialog
226 prompts you for the file name. The shifted `Ctrl-O' key is a
227 keyboard equivalent. If the file contains more than one saved
228 position, and you want to load the Nth one, type the number N
229 after the file name, separated by a space. Position files must
230 be in FEN (Forsythe-Edwards notation), or in the format that the
231 Save Position command writes when oldSaveStyle is turned on.
232
233 Load Next Position
234 Loads the next position from the last position file you loaded.
235 The shifted `PgDn' key is a keyboard equivalent.
236
237 Load Previous Position
238 Loads the previous position from the last position file you
239 loaded. The shifted `PgUp' key is a keyboard equivalent. Not
240 available if the last position was loaded from a pipe.
241
242 Save Game
243 Appends a record of the current game to a file. The `Ctrl-S'
244 key is a keyboard equivalent. A pop-up dialog prompts you for
245 the file name. If the game did not begin with the standard
246 starting position, the game file includes the starting position
247 used. Games are saved in the PGN (portable game notation) for‐
248 mat, unless the oldSaveStyle option is true, in which case they
249 are saved in an older format that is specific to XBoard. Both
250 formats are human-readable, and both can be read back by the
251 `Load Game' command. Notation of the form `P@f7' is accepted
252 for piece-drops in bughouse games; this is a nonstandard exten‐
253 sion to PGN.
254
255 Save Position
256 Appends a diagram of the current position to a file. The
257 shifted `Ctrl+S' key is a keyboard equivalent. A pop-up dialog
258 prompts you for the file name. Positions are saved in FEN
259 (Forsythe-Edwards notation) format unless the `oldSaveStyle' op‐
260 tion is true, in which case they are saved in an older, human-
261 readable format that is specific to XBoard. Both formats can be
262 read back by the `Load Position' command.
263
264 Save Selected Games
265 Will cause all games selected for display in the current Game
266 List to be appended to a file of the user's choice.
267
268 Save Games as Book
269 Creates an opening book from the currently loaded game file, in‐
270 corporating only the games currently selected in the Game List.
271 The book will be saved on the file specified in the `Common En‐
272 gine' options dialog. The value of `Book Depth' specified in
273 that same dialog will be used to determine how many moves of
274 each game will be added to the internal book buffer. This com‐
275 mand can take a long time to process, and the size of the buffer
276 is currently limited. At the end the buffer will be saved as a
277 Polyglot book, but the buffer will not be cleared, so that you
278 can continue adding games from other game files.
279
280 Mail Move
281 Reload CMail Message
282 See CMail.
283
284 Exit Exits from XBoard. The `Ctrl-Q' key is a keyboard equivalent.
285
286 Edit Menu
287 Copy Game
288 Copies a record of the current game to an internal clipboard in
289 PGN format and sets the X selection to the game text. The `Ctrl-
290 C' key is a keyboard equivalent. The game can be pasted to an‐
291 other application (such as a text editor or another copy of
292 XBoard) using that application's paste command. In many X ap‐
293 plications, such as xterm and emacs, the middle mouse button can
294 be used for pasting; in XBoard, you must use the Paste Game com‐
295 mand.
296
297 Copy Position
298 Copies the current position to an internal clipboard in FEN for‐
299 mat and sets the X selection to the position text. The shifted
300 `Ctrl-C' key is a keyboard equivalent. The position can be
301 pasted to another application (such as a text editor or another
302 copy of XBoard) using that application's paste command. In many
303 X applications, such as xterm and emacs, the middle mouse button
304 can be used for pasting; in XBoard, you must use the Paste Posi‐
305 tion command.
306
307 Copy Game List
308 Copies the current game list to the clipboard, and sets the X
309 selection to this text. A format of comma-separated double-
310 quoted strings is used, including all tags, so it can be easily
311 imported into spread-sheet programs.
312
313 Paste Game
314 Interprets the current X selection as a game record and loads
315 it, as with Load Game. The `Ctrl-V' key is a keyboard equiva‐
316 lent.
317
318 Paste Position
319 Interprets the current X selection as a FEN position and loads
320 it, as with Load Position. The shifted `Ctrl-V' key is a key‐
321 board equivalent.
322
323 Edit Game
324 Allows you to make moves for both Black and White, and to change
325 moves after backing up with the `Backward' command. The clocks
326 do not run. The `Ctrl-E' key is a keyboard equivalent.
327
328 In chess engine mode, the chess engine continues to check moves
329 for legality but does not participate in the game. You can bring
330 the chess engine into the game by selecting `Machine White',
331 `Machine Black', or `Two Machines'.
332
333 In ICS mode, the moves are not sent to the ICS: `Edit Game'
334 takes XBoard out of ICS Client mode and lets you edit games lo‐
335 cally. If you want to edit games on ICS in a way that other ICS
336 users can see, use the ICS `examine' command or start an ICS
337 match against yourself.
338
339 Edit Position
340 Lets you set up an arbitrary board position. The shifted `Ctrl-
341 E' key is a keyboard equivalent. Use mouse button 1 to drag
342 pieces to new squares, or to delete a piece by dragging it off
343 the board or dragging an empty square on top of it. When you do
344 this keeping the `Ctrl' key pressed, or start dragging with a
345 double-click, you will move a copy of the piece, leaving the
346 piece itself where it was. In variants where pieces can promote
347 (such as Shogi), left-clicking an already selected piece pro‐
348 motes or demotes it. To drop a new piece on a square, press
349 mouse button 2 or 3 over the square. This puts a white or black
350 pawn in the square, respectively, but you can change that to any
351 other piece type by dragging the mouse down before you release
352 the button. You will then see the piece on the originally
353 clicked square cycle through the available pieces (including
354 those of opposite color), and can release the button when you
355 see the piece you want. (Note you can swap the function of but‐
356 ton 2 and 3 by pressing the shift key, and that there is an op‐
357 tion `monoMouse' to combine al functions in one button, which
358 then acts as button 3 over an empty square, and as button 1 over
359 a piece.) To alter the side to move, you can click the clock
360 (the words White and Black above the board) of the side you want
361 to give the move to. To clear the board you can click the clock
362 of the side that already has the move (which is highlighted in
363 black). If you repeat this the board will cycle from empty to a
364 `pallette board' containing every piece once to the initial po‐
365 sition to the one before clearing. The quickest way to set up a
366 position is usually to start with the pallette board, and move
367 the pieces to were you want them, duplicating them where neces‐
368 sary by using the `Ctrl' key, dragging those you don't want off
369 board, and use static button 2 or 3 clicks to place the Pawns.
370 The old behavior with a piece menu can still be configured with
371 the aid of the `pieceMenu' option. Dragging empty squares off
372 board can create boards with holes (inaccessible black squares)
373 in them. Selecting `Edit Position' causes XBoard to discard all
374 remembered moves in the current game.
375
376 In ICS mode, changes made to the position by `Edit Position' are
377 not sent to the ICS: `Edit Position' takes XBoard out of `ICS
378 Client' mode and lets you edit positions locally. If you want to
379 edit positions on ICS in a way that other ICS users can see, use
380 the ICS `examine' command, or start an ICS match against your‐
381 self. (See also the ICS Client topic above.)
382
383 Edit Tags
384 Lets you edit the PGN (portable game notation) tags for the cur‐
385 rent game. After editing, the tags must still conform to the PGN
386 tag syntax:
387
388 <tag-section> ::= <tag-pair> <tag-section>
389 <empty>
390 <tag-pair> ::= [ <tag-name> <tag-value> ]
391 <tag-name> ::= <identifier>
392 <tag-value> ::= <string>
393
394 See the PGN Standard for full details. Here is an example:
395
396 [Event "Portoroz Interzonal"]
397 [Site "Portoroz, Yugoslavia"]
398 [Date "1958.08.16"]
399 [Round "8"]
400 [White "Robert J. Fischer"]
401 [Black "Bent Larsen"]
402 [Result "1-0"]
403
404 Any characters that do not match this syntax are silently ig‐
405 nored. Note that the PGN standard requires all games to have at
406 least the seven tags shown above. Any that you omit will be
407 filled in by XBoard with `?' (unknown value), or `-' (inapplica‐
408 ble value).
409
410 Edit Comment
411 Adds or modifies a comment on the current position. Comments are
412 saved by `Save Game' and are displayed by `Load Game', PGN vari‐
413 ations will also be printed in this window, and can be promoted
414 to main line by right-clicking them. `Forward', and `Backward'.
415
416 Edit Book
417 Pops up a window listing the moves available in the GUI book
418 (specified in the `Common Engine Settings' dialog) from the cur‐
419 rently displayed position, together with their weights and (op‐
420 tionally in braces) learn info. You can then edit this list,
421 and the new list will be stored back into the book when you
422 press 'save changes'. When you press the button 'add next
423 move', and play a move on the board, that move will be added to
424 the list with weight 1. Note that the listed percentages are
425 neither used, nor updated when you change the weights; they are
426 just there as an optical aid. When you right-click a move in
427 the list it will be played.
428
429 Revert
430 Annotate
431 If you are examining an ICS game and Pause mode is off, Revert
432 issues the ICS command `revert'. In local mode, when you were
433 editing or analyzing a game, and the `-variations' command-line
434 option is switched on, you can start a new variation by holding
435 the Shift key down while entering a move not at the end of the
436 game. Variations can also become the currently displayed line
437 by clicking a PGN variation displayed in the Comment window.
438 This can be applied recursively, so that you can analyze varia‐
439 tions on variations; each time you create a new variation by en‐
440 tering an alternative move with Shift pressed, or select a new
441 one from the Comment window, the current variation will be
442 shelved. `Revert' allows you to return to the most recently
443 shelved variation. The difference between `Revert' and `Anno‐
444 tate' is that with the latter, the variation you are now aban‐
445 doning will be added as a comment (in PGN variation syntax, i.e.
446 between parentheses) to the original move where you deviated,
447 for later recalling. The `Home' key is a keyboard equivalent to
448 `Revert'.
449
450 Truncate Game
451 Discards all remembered moves of the game beyond the current po‐
452 sition. Puts XBoard into `Edit Game' mode if it was not there
453 already. The `End' key is a keyboard equivalent.
454
455 Backward
456 < Steps backward through a series of remembered moves. The `[<]'
457 button and the `Alt+LeftArrow' key are equivalents, as is turn‐
458 ing the mouse wheel towards you. In addition, pressing the ???
459 key steps back one move, and releasing it steps forward again.
460
461 In most modes, `Backward' only lets you look back at old posi‐
462 tions; it does not retract moves. This is the case if you are
463 playing against a chess engine, playing or observing a game on
464 an ICS, or loading a game. If you select `Backward' in any of
465 these situations, you will not be allowed to make a different
466 move. Use `Retract Move' or `Edit Game' if you want to change
467 past moves.
468
469 If you are examining an ICS game, the behavior of `Backward' de‐
470 pends on whether XBoard is in Pause mode. If Pause mode is off,
471 `Backward' issues the ICS backward command, which backs up ev‐
472 eryone's view of the game and allows you to make a different
473 move. If Pause mode is on, `Backward' only backs up your local
474 view.
475
476 Forward
477 > Steps forward through a series of remembered moves (undoing the
478 effect of `Backward') or forward through a game file. The `[>]'
479 button and the `Alt+RightArrow' key are equivalents, as is turn‐
480 ing the mouse wheel away from you.
481
482 If you are examining an ICS game, the behavior of Forward de‐
483 pends on whether XBoard is in Pause mode. If Pause mode is off,
484 `Forward' issues the ICS forward command, which moves everyone's
485 view of the game forward along the current line. If Pause mode
486 is on, `Forward' only moves your local view forward, and it will
487 not go past the position that the game was in when you paused.
488
489 Back to Start
490 << Jumps backward to the first remembered position in the game.
491 The `[<<]' button and the `Alt+Home' key are equivalents.
492
493 In most modes, Back to Start only lets you look back at old po‐
494 sitions; it does not retract moves. This is the case if you are
495 playing against a local chess engine, playing or observing a
496 game on a chess server, or loading a game. If you select `Back
497 to Start' in any of these situations, you will not be allowed to
498 make different moves. Use `Retract Move' or `Edit Game' if you
499 want to change past moves; or use Reset to start a new game.
500
501 If you are examining an ICS game, the behavior of @samp{Back to
502 Start} depends on whether XBoard is in Pause mode. If Pause mode
503 is off, `Back to Start' issues the ICS `backward 999999' com‐
504 mand, which backs up everyone's view of the game to the start
505 and allows you to make different moves. If Pause mode is on,
506 @samp{Back to Start} only backs up your local view.
507
508 Forward to End
509 >> Jumps forward to the last remembered position in the game. The
510 `[>>]' button and the `Alt+End' key are equivalents.
511
512 If you are examining an ICS game, the behavior of @samp{Forward
513 to End} depends on whether XBoard is in Pause mode. If Pause
514 mode is off, `Forward to End' issues the ICS `forward 999999'
515 command, which moves everyone's view of the game forward to the
516 end of the current line. If Pause mode is on, `Forward to End'
517 only moves your local view forward, and it will not go past the
518 position that the game was in when you paused.
519
520 View Menu
521 Flip View
522 Inverts your view of the chess board for the duration of the
523 current game. Starting a new game returns the board to normal.
524 The `F2' key is a keyboard equivalent.
525
526 Show Engine Output
527 Shows or hides a window in which the thinking output of any
528 loaded engines is displayed. The shifted `Alt+O' key is a key‐
529 board equivalent. XBoard will display lines of thinking output
530 of the same depth ordered by score, (highest score on top),
531 rather than in the order the engine produced them. Usually this
532 amounts to the same, as a normal engine search will only find
533 new PV (and emit it as thinking output) when it searches a move
534 with a higher score than the previous variation. But when the
535 engine is in multi-variation mode this needs not always be true,
536 and it is more convenient for someone analyzing games to see the
537 moves sorted by score. The order in which the engine found them
538 is only of interest to the engine author, and can still be de‐
539 duced from the time or node count printed with the line. Right-
540 clicking a line in this window, and then moving the mouse verti‐
541 cally with the right button kept down, will make XBoard play
542 through the PV listed there. The use of the board window as
543 'variation board' will normally end when you release the right
544 button, or when the opponent plays a move. But beware: in
545 Analysis mode, moves thus played out might be added to the game,
546 depending on the setting of the option 'Play moves of clicked
547 PV', when you initiate the click left of the PV in the score
548 area. The Engine-Output pane for each engine will contain a
549 header displaying the multi-PV status and a list of excluded
550 moves in Analysis mode, which are also responsive to right-
551 clicking: Clicking the words 'fewer' or 'more' will alter the
552 number of variations shown at each depth, through the engine's
553 MultiPV option, while clicking in between those and moving the
554 mouse horizontally adjust the option 'Multi-PV Margin'. (In so
555 far the engines support those.)
556
557 Show Move History
558 Shows or hides a list of moves of the current game. The shifted
559 `Alt+H' key is a keyboard equivalent. This list allows you to
560 move the display to any earlier position in the game by clicking
561 on the corresponding move.
562
563 Show Evaluation Graph
564 Shows or hides a window which displays a graph of how the engine
565 score(s) evolved as a function of the move number. The shifted
566 `Alt+E' key is a keyboard equivalent. The title bar shows the
567 score (and search depth at which it was obtained) of the cur‐
568 rently displayed position numerically. Clicking on the graph
569 will bring the corresponding position in the board display. A
570 button 3 click will toggle the display mode between plain and
571 differential (showing the difference in score between successive
572 half moves). Using the mouse wheel over the window will change
573 the scale of the low-score region (from -1 to +1).
574
575 Show Game List
576 Shows or hides the list of games generated by the last `Load
577 Game' command. The shifted `Alt+G' key is a keyboard equivalent.
578 The line describing each game is built from a selection of the
579 PGN tags. Which tags contribute, and in what order, can be
580 changed by the `Game list tags' menu dialog, which can be popped
581 up through the `Tags' button below the Game List. Display can
582 be restricted to a sub-set of the games meeting certain crite‐
583 ria. A text entry below the game list allows you to type a text
584 that the game lines must contain in order to be displayed.
585 Games can also be selected based on their Elo PGN tag, as set in
586 the `Load Game Options' dialog, which can be popped up through
587 the `Thresholds' button below the Game List. Finally they can
588 be selected based on containing a position similar to the one
589 currently displayed in the main window, by pressing the 'Posi‐
590 tion' button below the Game List, (which searches the entire
591 list for the position), or the 'Narrow' button (which only
592 searches the already-selected games). What counts as similar
593 enough to be selected can also be set in the `Load Game Options'
594 dialog, and ranges from an exact match to just the same mate‐
595 rial.
596
597 Tags Pops up a window which shows the PGN (portable game notation)
598 tags for the current game. For now this is a duplicate of the
599 `Edit Tags' item in the `Edit' menu.
600
601 Comments
602 Pops up a window which shows any comments to or variations on
603 the current move. For now this is a duplicate of the `Edit Com‐
604 ment' item in the `Edit' menu.
605
606 ICS Input Box
607 If this option is set in ICS mode, XBoard creates an extra win‐
608 dow that you can use for typing in ICS commands. The input box
609 is especially useful if you want to type in something long or do
610 some editing on your input, because output from ICS doesn't get
611 mixed in with your typing as it would in the main terminal win‐
612 dow.
613
614 ICS/Chat Console
615 This menu item opens a window in which you can interact with the
616 ICS, so you don't have to use the messy xterm from which you
617 launched XBoard for that. The window has a text entry at the
618 bottom where you can type your commands and messages unhindered
619 by the stream of ICS output. The latter will be displayed in a
620 large pane above the input field, the ICS Console. Up and down
621 arrow keys can be used to recall previous input lines. Typing
622 an <Esc> character in the input field transfers focus back to
623 the board window (so you could operate the menus there through
624 accelerator keys). Typing a printable character in the board
625 window transfers focus back to the input field of the `ICS
626 Chat/Console' window.
627
628 Chats There is a row of buttons at the top of the `ICS Chat/Console'
629 dialog, which can be used to navigate between upto 5 'chats'
630 with other ICS users (or channels). These will switch the win‐
631 dow to 'chat mode', where the ICS output pane is vertically
632 split to divert messages from a specific user or ICS channel to
633 the lower half. Lines typed in the input field will then be in‐
634 terpreted as messages to be sent to that user or channel, (auto‐
635 matically prefixed with the apporpriate ICS command and user
636 name) rather than as commands to the ICS. Chats will keep col‐
637 lecting ICS output intended for them even when not displayed,
638 and their buttons will turn orange to alert the user there has
639 been activity. Typing <Tab> in the input field will switch to
640 another active chat, giving priority to those with content you
641 have not seen yet.
642
643 New Chat
644 Buttons for chats currently not assigned to a user or channel
645 will carry the text `New Chat', and pressing them will switch to
646 chat mode, enabling you to enter the user name or channel number
647 you want to use it for. Typing Ctrl-N in the input field is a
648 keyboard equivalent.
649
650 Chat partner
651 To (re-)assign a chat, write the name of your chat partner, the
652 channel number, or the words 'shouts', 'whispers', 'cshouts' in
653 the `Chat partner' text entry (ending with <Enter>!). Typing
654 Ctrl-O in the input field at the bottom of the window will open
655 a chat with the person that last sent you a 'tell' that was
656 printed in the ICS Console output pane. The `ICS text menu' can
657 contain a button `Open Chat (name)' that can be used to open a
658 chat with as partner the word/number you right-clicked in the
659 output pane to pop up this menu.
660
661 End Chat
662 This button, only visible when the chat pane is open, will clear
663 the `Chat partner' field, so that the chat can be assigned to a
664 new user or channel. Typing Ctrl-E in the input field is a key‐
665 board equivalent.
666
667 Hide This button, only visible when the chat pane is open, will close
668 the latter, so you can use the input field to give commands to
669 the ICS again. Typing Ctrl-H in the input field is a keyboard
670 equivalent.
671
672 ICS text menu
673 Brings up a menu that is user-configurable through the `icsMenu'
674 option. Buttons in this menu can sent pre-configured commands
675 directly to the ICS, or can put partial commands in the input
676 field of the `ICS Chat/Console' window, so that you can complete
677 those with some text of your own before sending them to the ICS
678 by pressing Enter. This menu item can also be popped up by
679 right-clicking in the text memos of the ICS Chat/Console window.
680 In that case the word that was clicked can be incorporated in
681 the message sent to the ICS. E.g. to challenge a player whose
682 name you click for a game, or prepare for sending him a message
683 through a 'tell' commands.
684
685 Edit ICS menu
686 Brings up an edit box with the definition of the `ICS text
687 menu', so you can adapt its appearance to your needs. The menu
688 is defined by a semi-colon-separated list, each button through a
689 pair of items in it. The first item of each pair is the text on
690 the button, the second the text to be sent when the button is
691 pressed. The word '$input' in the text will put that text in
692 the input field of the `ICS Chat/Console' with the cursor in
693 that place, the word '$name' will be replaced by the word right-
694 clicked to pop up the text menu.
695
696 Edit Theme List
697 Brings up an edit box with the definitions of the themes shown
698 in the listbox of the `Board' dialog, so you can delete, re-or‐
699 der or alter themes defined previously.
700
701 Board Summons a dialog where you can customize the look of the chess
702 board.
703
704 White Piece Color
705 Black Piece Color
706 Light Square Color
707 Dark Square Color
708 Highlight Color
709 Premove Highlight Color
710 These items set the color of pieces, board squares and move
711 highlights (borders or arrow). Square colors are only used when
712 the `Use Board Textures' option is off, the piece colors only
713 when `Use piece bitmaps with their own colors' is off. You can
714 type the color as hexadecimally encoded RGB value preceded by
715 '#', or adjust it through the R, G, B and D buttons to make it
716 redder, greener, bluer or darker. A sample of the adjusted
717 color will be displayed behind its text description; pressing
718 this colored button restores the default value for the color.
719
720 Flip Pieces Shogi Style
721 With this option on XBoard will swap white and black pieces,
722 when you flip the view of the board to make white play downward.
723 This should be used with piece themes that do not distinguish
724 sides by color, but by orientation.
725
726 Mono Mode
727 This option sets XBoard to pure black-and-white display (no grey
728 scales, and thus no anti-aliasing).
729
730 Logo Size
731 Specifies the width of the engine logos displayed next to the
732 clocks, in pixels. Setting it to 0 suppresses the display of
733 such logos. The height of the logo will be half its width. In
734 the GTK build of XBoard any non-zero value is equivalent, and
735 the logos are always sized to 1/4 of the board width.
736
737 Line Gap
738 This option specifies the width of the grid lines that separate
739 the squares, which change color on highlighting the move. Set‐
740 ting it to 0 suppresses these lines, which in general looks bet‐
741 ter, but hides the square-border highlights, so that you would
742 have to rely on other forms of highlighting. Setting the value
743 to -1 makes XBoard choose a width by itself, depending on the
744 square size.
745
746 Use Board Textures
747 Light-Squares Texture File
748 Dark-Squares Texture File
749 When the option `Use Board Textures' is set, the squares will
750 not be drawn as evenly colored surfaces, but will be cut from a
751 texture image, as specified by the `Texture Files'. Separate
752 images can be used for light and dark squares. XBoard will try
753 to cut the squares out of the texture image with as little over‐
754 lap as possible, so they all look different. The name of the
755 texture file can contain a size hint, e.g. `xqboard-9x10.png',
756 alerting XBoard to the fact that it contains a whole-board im‐
757 age, out of which squares have to be cut in register with the
758 nominal sub-division.
759
760 Use external piece bitmaps with their own color
761 When this option is on XBoard will ignore the piece-color set‐
762 tings, and draw the piece images in their original colors. The
763 piece-color settings would only work well for evenly colored
764 pieces, such as the default theme.
765
766 Directory with Pieces Images
767 When a directory is specified here, XBoard will first look for
768 piece images (SVG or PNG files) in that directory, and fall back
769 on the image from the default theme only for images it cannot
770 find there. An image file called White/BlackTile in the direc‐
771 tory will be prefered as fall-back for missing pieces over the
772 default image, however.
773
774 Selectable themes
775 New name for current theme
776 When a theme name is specified while pressing 'OK', the combina‐
777 tion of settings specified in the dialog will be stored in
778 XBoard's list of themes, which will be saved with the other op‐
779 tions in the settings file (as the `themeNames' option). This
780 name will then appear in the selection listbox next time you
781 open the dialog, so that you can recall the entire combination
782 of settings by double-clicking it.
783
784 Here you can specify the directory from which piece images
785 should be taken, when you don't want to use the built-in piece
786 images (see `pieceImageDirectory' option), external images to be
787 used for the board squares (`liteBackTextureFile' and `darkBack‐
788 TextureFile' options), and square and piece colors for the de‐
789 fault pieces. The current combination of these settings can be
790 assigned a 'theme' name by typing one in the text entry in the
791 lower-left of the dialog, and closing the latter with OK. It
792 will then appear in the themes listbox next time you open the
793 dialog, where you can recall the complete settings combination
794 with a double-click.
795
796 Fonts Pops up a dialog where you can set the fonts used in the main
797 elements of various windows. Pango font names can be typed for
798 each window type, and behind each text entry there are buttons
799 to adjust the point size, and toggle the 'bold' or 'italic' at‐
800 tributes of the font.
801
802 Game List Tags
803 a duplicate of the Game List dialog in the Options menu.
804
805 Mode Menu
806 Machine White
807 Tells the chess engine to play White. The `Ctrl-W' key is a
808 keyboard equivalent.
809
810 Machine Black
811 Tells the chess engine to play Black. The `Ctrl-B' key is a
812 keyboard equivalent.
813
814 Two Machines
815 Plays a game between two chess engines. The `Ctrl-T' key is a
816 keyboard equivalent.
817
818 Analysis Mode
819 XBoard tells the chess engine to start analyzing the current
820 game/position and shows you the analysis as you move pieces
821 around. The `Ctrl-A' key is a keyboard equivalent. Note: Some
822 chess engines do not support Analysis mode.
823
824 To set up a position to analyze, you do the following:
825
826 1. Set up the position by any means. (E.g. using `Edit Position'
827 mode, pasing a FEN or loading a game and stepping to the posi‐
828 tion.)
829
830 2. Select Analysis Mode from the Mode Menu to start the analy‐
831 sis.
832
833 You can now play legal moves to create follow-up positions for
834 the engine to analyze, while the moves will be remembered as a
835 stored game, and then step backward through this game to take
836 the moves back. Note that you can also click on the clocks to
837 set the opposite side to move (adding a so-called `null move' to
838 the game).
839
840 You can also tell the engine to exclude some moves from analy‐
841 sis. (Engines that do not support the exclude-moves feature
842 will ignore this, however.) The general way to do this is to
843 play the move you want to exclude starting with a double click
844 on the piece. When you use drag-drop moving, the piece you grab
845 with a double click will also remain on its square, to show you
846 that you are not really making the move, but just forbid it from
847 the current position. Playing a thus excluded move a second
848 time will include it again. Excluded moves will be listed as
849 text in a header line in the Engine Output window, and you can
850 also re-include them by right-clicking them there. This header
851 line will also contain the words 'best' and 'tail'; right-click‐
852 ing those will exclude the currently best move, or all moves not
853 explicitly listed in the header line. Once you leave the cur‐
854 rent position all memory of excluded moves will be lost when you
855 return there.
856
857 Selecting this menu item while already in `Analysis Mode' will
858 toggle the participation of the second engine in the analysis.
859 The output of this engine will then be shown in the lower pane
860 of the Engine Output window. The analysis function can also be
861 used when observing games on an ICS with an engine loaded (zippy
862 mode); the engine then will analyze the positions as they occur
863 in the observed game.
864
865
866 Analyze Game
867 This option subjects the currently loaded game to automatic
868 analysis by the loaded engine. The `Ctrl-G' key is a keyboard
869 equivalent. XBoard will start auto-playing the game from the
870 currently displayed position, while the engine is analyzing the
871 current position. The game will be annotated with the results
872 of these analyses. In particlar, the score and depth will be
873 added as a comment, and the PV will be added as a variation.
874
875 Normally the analysis would stop after reaching the end of the
876 game. But when a game is loaded from a multi-game file while
877 `Analyze Game' was already switched on, the analysis will con‐
878 tinue with the next game in the file until the end of the file
879 is reached (or you switch to another mode).
880
881 The time the engine spends on analyzing each move can be con‐
882 trolled through the command-line option `-timeDelay', which can
883 also be set from the `Load Game Options' menu dialog. Note:
884 Some chess engines do not support Analysis mode.
885
886 Edit Game
887 Duplicate of the item in the Edit menu. Note that `Edit Game'
888 is the idle mode of XBoard, and can be used to get you out of
889 other modes. E.g. to stop analyzing, stop a game between two en‐
890 gines or stop editing a position.
891
892 Edit Position
893 Duplicate of the item in the Edit menu.
894
895 Training
896 Training mode lets you interactively guess the moves of a game
897 for one of the players. You guess the next move of the game by
898 playing the move on the board. If the move played matches the
899 next move of the game, the move is accepted and the opponent's
900 response is auto-played. If the move played is incorrect, an
901 error message is displayed. You can select this mode only while
902 loading a game (that is, after selecting `Load Game' from the
903 File menu). While XBoard is in `Training' mode, the navigation
904 buttons are disabled.
905
906 ICS Client
907 This is the normal mode when XBoard is connected to a chess
908 server. If you have moved into Edit Game or Edit Position mode,
909 you can select this option to get out.
910
911 To use xboard in ICS mode, run it in the foreground with the
912 -ics option, and use the terminal you started it from to type
913 commands and receive text responses from the chess server. See
914 Chess Servers below for more information.
915
916 XBoard activates some special position/game editing features
917 when you use the `examine' or `bsetup' commands on ICS and you
918 have `ICS Client' selected on the Mode menu. First, you can is‐
919 sue the ICS position-editing commands with the mouse. Move
920 pieces by dragging with mouse button 1. To drop a new piece on
921 a square, press mouse button 2 or 3 over the square. This
922 brings up a menu of white pieces (button 2) or black pieces
923 (button 3). Additional menu choices let you empty the square or
924 clear the board. Click on the White or Black clock to set the
925 side to play. You cannot set the side to play or drag pieces to
926 arbitrary squares while examining on ICC, but you can do so in
927 `bsetup' mode on FICS. In addition, the menu commands `For‐
928 ward', `Backward', `Pause', and `Stop Examining' have special
929 functions in this mode; see below.
930
931 Machine Match
932 Starts a match between two chess programs, with a number of
933 games and other parameters set through the `Tournament Options'
934 menu dialog. When a match is already running, selecting this
935 item will make XBoard drop out of match mode after the current
936 game finishes.
937
938 Pause Pauses updates to the board, and if you are playing against a
939 chess engine, also pauses your clock. To continue, select
940 `Pause' again, and the display will automatically update to the
941 latest position. The `P' button and keyboard `Pause' key are
942 equivalents.
943
944 If you select Pause when you are playing against a chess engine
945 and it is not your move, the chess engine's clock will continue
946 to run and it will eventually make a move, at which point both
947 clocks will stop. Since board updates are paused, however, you
948 will not see the move until you exit from Pause mode (or select
949 Forward). This behavior is meant to simulate adjournment with a
950 sealed move.
951
952 If you select Pause while you are observing or examining a game
953 on a chess server, you can step backward and forward in the cur‐
954 rent history of the examined game without affecting the other
955 observers and examiners, and without having your display jump
956 forward to the latest position each time a move is made. Select
957 Pause again to reconnect yourself to the current state of the
958 game on ICS.
959
960 If you select `Pause' while you are loading a game, the game
961 stops loading. You can load more moves manually by selecting
962 `Forward', or resume automatic loading by selecting `Pause'
963 again.
964
965 Action Menu
966 Accept Accepts a pending match offer. The `F3' key is a keyboard
967 equivalent. If there is more than one offer pending, you will
968 have to type in a more specific command instead of using this
969 menu choice.
970
971 Decline
972 Declines a pending offer (match, draw, adjourn, etc.). The `F4'
973 key is a keyboard equivalent. If there is more than one offer
974 pending, you will have to type in a more specific command in‐
975 stead of using this menu choice.
976
977 Call Flag
978 Calls your opponent's flag, claiming a win on time, or claiming
979 a draw if you are both out of time. The `F5' key is a keyboard
980 equivalent. You can also call your opponent's flag by clicking
981 on his clock.
982
983 Draw Offers a draw to your opponent, accepts a pending draw offer
984 from your opponent, or claims a draw by repetition or the
985 50-move rule, as appropriate. The `F6' key is a keyboard equiva‐
986 lent.
987
988 Adjourn
989 Asks your opponent to agree to adjourning the current game, or
990 agrees to a pending adjournment offer from your opponent. The
991 `F7' key is a keyboard equivalent.
992
993 Abort Asks your opponent to agree to aborting the current game, or
994 agrees to a pending abort offer from your opponent. The `F8'
995 key is a keyboard equivalent. An aborted game ends immediately
996 without affecting either player's rating.
997
998 Resign Resigns the game to your opponent. The `F9' key is a keyboard
999 equivalent.
1000
1001 Stop Observing
1002 Ends your participation in observing a game, by issuing the ICS
1003 observe command with no arguments. ICS mode only. The `F10' key
1004 is a keyboard equivalent.
1005
1006 Stop Examining
1007 Ends your participation in examining a game, by issuing the ICS
1008 unexamine command. ICS mode only. The `F11' key is a keyboard
1009 equivalent.
1010
1011 Upload to Examine
1012 Create an examined game of the proper variant on the ICS, and
1013 send the game there that is currenty loaded in XBoard (e.g.
1014 through pasting or loading from file). You must be connected to
1015 an ICS for this to work.
1016
1017 Adjudicate to White
1018 Adjudicate to Black
1019 Adjudicate Draw
1020 Terminate an ongoing game in Two-Machines mode (including match
1021 mode), with as result a win for white, for black, or a draw, re‐
1022 spectively. The PGN file of the game will accompany the result
1023 string by the comment "user adjudication".
1024
1025 Engine Menu
1026 Edit Engine List
1027 Opens a window that shows the list of engines registered for use
1028 by XBoard, together with the options that would be used with
1029 them when you would select them from the `Load Engine' dialogs.
1030 You can then edit this list, e.g. for re-ordering the engines,
1031 or adding uncommon options needed by this engine (e.g. to cure
1032 non-compliant behavior).
1033
1034 By editing you can also organize the engines into collapsible
1035 groups. By sandwiching a number of engine lines between lines
1036 "# NAME" and "# end", the thus enclosed engines will not ini‐
1037 tially appear in engine listboxes of other dialogs, but only the
1038 single line "# NAME" (where NAME can be an arbitrary text) will
1039 appear in their place. Selecting that line will then show the
1040 enclosed engines in the listbox, which recursively can contain
1041 other groups. The line with the group name will still present
1042 as a header, and selecting that line will collapse the group
1043 again, and makes the listbox go back to displaying the surround‐
1044 ing group.
1045
1046 Load New 1st Engine
1047 Load New 2nd Engine
1048 Pops up a dialog where you can select or specify an engine to be
1049 loaded. You can even replace engines during a game, without
1050 disturbing that game. (Beware that after loading an engine,
1051 XBoard will always be in Edit Game mode, so you will have to
1052 tell the new engine what to do before it does anything!)
1053
1054 Select engine from list
1055 The listbox shows the engines registered for use with XBoard be‐
1056 fore. (This means XBoard has information on the engine type,
1057 whether it plays book etc. in the engine list stored in its
1058 settings file.) Double-clicking an engine here will load it and
1059 close the dialog. The list can also contain groups, indicated
1060 by a starting '#' sign. Double-clicking such a group will
1061 'open' it, and show the group contents in the listbox instead of
1062 the total list, with the group name as header. Double-clicking
1063 the header will 'close' the group again.
1064
1065 Nickname
1066 Use nickname in PGN player tags of engine-engine games
1067 When a `Nickname' is specified, the engine will appear under
1068 this name in the `Select Engine' listbox. Otherwise the name
1069 there will be a tidied version of the engine command. The user
1070 can specify if the nickname is also to be used in PGN tags; nor‐
1071 mally the name engines report theselves would be used there.
1072
1073 Engine Command
1074 The command needed to start the engine from the command line.
1075 For compliantly installed engine this is usually just a single
1076 word, the name of the engine package (e.g. 'crafty' or 'stock‐
1077 fish'). Some engines need additional parameters on the command
1078 line. For engines that are not in a place where the system
1079 would expect them a full pathname can be specified, and usually
1080 the browse button for this oprion is the easiest way to obtain
1081 that.
1082
1083 Engine Directory
1084 Compliant engines could run from any directory, and by default
1085 this option is proposed as '.', the current directory. If a
1086 (path)name is specified here, XBoard will start the engine in
1087 that directory. If you make the field empty, it will try to de‐
1088 rive the directory from the engine command (if that was a path
1089 name).
1090
1091 UCI When the `UCI' checkbox is ticked XBoard will assume the engine
1092 is of UCI type, and will invoke the corresponding adapter (as
1093 specified in the `adapterCommand' option stored in its settings
1094 file)to use it. By default this adapter is Polyglot, which must
1095 be installed from a separate package!
1096
1097 USI/UCCI
1098 Ticking this checkbox informs XBoard that the engine is of USI
1099 or UCCI type (as Shogi or Xiangqi engines often are). This
1100 makes XBoard invoke an adapter to run the engines, as specified
1101 by the `uxiAdapter' option stored in its settings file. The
1102 UCI2WB program is an adapter that can handle both these engine
1103 types, as well as UCI.
1104
1105 WB protocol v1
1106 Ticking this checkbox informs XBoard the engine is using an old
1107 version (1) of the communication protocol, so that it won't re‐
1108 spond to a request to interrogate its properties. XBoard then
1109 won't even try that, saving you a wait of several seconds each
1110 time the engine is started. Do not use this on state-of-the-art
1111 engines, as it would prevent XBoard from interrogating its capa‐
1112 bilities, so that many of its features might not work!
1113
1114 Must not use GUI book
1115 By default XBoard assumes engines are responsible for their own
1116 opening book, but unticking this option makes XBoard consult its
1117 own book (as per `Opening-Book Filename') on behalf of the en‐
1118 gine.
1119
1120 Add this engine to the list
1121 By default XBoard would add the engine you specified, with all
1122 the given options to its list of registered engines (kept in its
1123 settings file), when you press 'OK'. Next time you could then
1124 simply select it from the listbox, or use the command "xboard
1125 -fe NICKNAME" to start XBoard with the engine and accompanying
1126 options. New engines are always added at the end of the exist‐
1127 ing list, or, when you have opened a group in the `Select En‐
1128 gine' listbox, at the end of that group. But can be re-ordered
1129 later with the aid of the `Edit Engine List' menu item. When
1130 you untick this checkbox before pressing 'OK' the engine will be
1131 loaded, but will not be added to the engine list.
1132
1133 Force current variant with this engine
1134 Ticking this option will make XBoard automatically start the en‐
1135 gine in the current variant, even when XBoard was set for a dif‐
1136 ferent variant when you loaded the engine. Useful when the en‐
1137 gine plays multiple variants, and you specifically want to play
1138 one different from its primary one.
1139
1140 Engine #1 Settings
1141 Engine #2 Settings
1142 Pop up a menu dialog to alter the settings specific to the ap‐
1143 plicable engine. For each parameter the engine allows to be
1144 set, a control element will appear in this dialog that can be
1145 used to alter the value. Depending on the type of parameter
1146 (text string, number, multiple choice, on/off switch, instanta‐
1147 neous signal) the appropriate control will appear, with a de‐
1148 scription next to it. XBoard has no idea what these values
1149 mean; it just passes them on to the engine. How this dialog
1150 looks is completely determined by the engine, and XBoard just
1151 passes it on to the user. Many engines do not have any parame‐
1152 ters that can be set by the user, and in that case the dialog
1153 will be empty (except for the OK and cancel buttons). UCI en‐
1154 gines usually have many parameters. (But these are only visible
1155 with a sufficiently modern version of the Polyglot adapter
1156 needed to run UCI engines, e.g. Polyglot 2.0.1.) For native
1157 XBoard engines this is less common.
1158
1159
1160 Common Settings
1161 Pops up a menu dialog where you can set some engine parameters
1162 common to most engines, such as hash-table size, tablebase cache
1163 size, maximum number of processors that SMP engines can use.
1164 The shifted `Alt+U' key is a keyboard equivalent. Older
1165 XBoard/WinBoard engines might not respond to these settings, but
1166 UCI engines always should.
1167
1168 Maximum Number of CPUs per Engine
1169 Specifies the number of search threads any engine can maximally
1170 use. Do not set it to a number larger than the number of cores
1171 your computer has. (Or half of it when you want two engines to
1172 run simultaneously, as in a Two-Machines game with `Ponder Next
1173 Move' on.)
1174
1175 Polyglot Directory
1176
1177 Hash-Table Size
1178 Specifies the maximum amount of memory (RAM) each engine is al‐
1179 lowed to use for storing info on positions it already searched,
1180 so it would not have to search them again. Do not set it so
1181 that it is more than half (or if you use two engines, more than
1182 a quarter) of the memory your computer has, or it would slow the
1183 engines down by an extreme amount.
1184
1185 EGTB Path
1186 Sets the value of the `egtFormats' option, which specifies where
1187 on your computer the files for End-Game Tables are stored. It
1188 must be a comma-separated list of path names, the path for each
1189 EGT flavor prefixed with the name of the latter and a colon.
1190 E.g. "nalimov:/home/egt/dtm,syzygy:/home/egt/dtz50". The path
1191 names after the colon will be sent to the engines that say they
1192 can use the corresponding EGT flavor.
1193
1194 EGTB Cache Size
1195 Specifies the amount of memory the engine should use to buffer
1196 end-game information. Together with the `Hash-Table Size' this
1197 determines how much memory the engine is allowed to use in to‐
1198 tal.
1199
1200 Use GUI Book
1201 Opening-Book Filename
1202 The `Opening-Book Filename' specifies an opening book in Poly‐
1203 glot format (usually a .bin file), from which XBoard can play
1204 moves on behalf of the engine. This is also the book file on
1205 which the `Edit Book' and `Save Games as Book' menu items oper‐
1206 ate. A checkbox `Use GUI Book' can be used to temporarily dis‐
1207 able the book without losing the setting. (This does not pre‐
1208 vent editing or saving games on it!)
1209
1210 Book Depth
1211 Book Variety
1212 The way moves are selected from the book can be controlled by
1213 two options. `Book Depth' controls for how deep into the game
1214 the book will be consulted (measured in full moves). `Book Va‐
1215 riety' controls the likelihood of playing weaker moves. When
1216 the variety is set to 50, moves will be played with the proba‐
1217 bility specified in the book. When set to 0, only the move(s)
1218 with the highest probability will be played. When set to 100,
1219 all listed moves will be played with equal pobability. Other
1220 settings interpolate between that.
1221
1222 Engine #1 Has Own Book
1223 Engine #2 Has Own Book
1224 These checkboxes control on a per-engine basis whether XBoard
1225 will consult the opening book for them. If ticked, XBoard will
1226 never play moves from its GUI book, giving the engine the oppor‐
1227 tunity to use its own. These options are automatically set
1228 whenever you load an engine, based on the setting of `Must not
1229 use GUI book' when you installed that through the `Load Engine'
1230 menu dialog.
1231
1232 Hint Displays a move hint from the chess engine.
1233
1234 Book Displays a list of possible moves from the chess engine's open‐
1235 ing book. The exact format depends on what chess engine you are
1236 using. With GNU Chess 4, the first column gives moves, the sec‐
1237 ond column gives one possible response for each move, and the
1238 third column shows the number of lines in the book that include
1239 the move from the first column. If you select this option and
1240 nothing happens, the chess engine is out of its book or does not
1241 support this feature.
1242
1243 Move Now
1244 Forces the chess engine to move immediately. Chess engine mode
1245 only. The `Ctrl-M' key is a keyboard equivalent. Many engines
1246 won't respond to this.
1247
1248 Retract Move
1249 Retracts your last move. In chess engine mode, you can do this
1250 only after the chess engine has replied to your move; if the
1251 chess engine is still thinking, use `Move Now' first. In ICS
1252 mode, `Retract Move' issues the command `takeback 1' or `take‐
1253 back 2' depending on whether it is your opponent's move or
1254 yours. The `Ctrl-X' key is a keyboard equivalent.
1255
1256 Recently Used Engines
1257 At the bottom of the engine menu there can be a list of names of
1258 engines that you recently loaded through the Load Engine menu
1259 dialog in previous sessions. Clicking on such a name will load
1260 that engine as first engine, so you won't have to search for it
1261 in your list of installed engines, if that is very long. The
1262 maximum number of displayed engine names is set by the `recen‐
1263 tEngines' command-line option.
1264
1265 Options Menu
1266 Mute all Sounds
1267 Ticking this menu item toggles all sounds XBoard can make on or off,
1268 without losing their definitions.
1269
1270 General Options
1271 The following items to set option values appear in the dialog summoned
1272 by the general Options menu item.
1273
1274 Absolute Analysis Scores
1275 Controls if scores on the Engine Output window during analysis
1276 will be printed from the white or the side-to-move point-of-
1277 view.
1278
1279 Almost Always Queen
1280 If this option is on, 7th-rank pawns automatically change into
1281 Queens when you pick them up, and when you drag them to the pro‐
1282 motion square and release them there, they will promote to that.
1283 But when you drag such a pawn backwards first, its identity will
1284 start to cycle through the other available pieces. This will
1285 continue until you start to move it forward; at which point the
1286 identity of the piece will be fixed, so that you can safely put
1287 it down on the promotion square. If this option is off, what
1288 happens depends on the option `alwaysPromoteToQueen', which
1289 would force promotion to Queen when true. Otherwise XBoard
1290 would bring up a dialog box whenever you move a pawn to the last
1291 rank, asking what piece you want to promote to.
1292
1293 Animate Dragging
1294 If Animate Dragging is on, while you are dragging a piece with
1295 the mouse, an image of the piece follows the mouse cursor. If
1296 Animate Dragging is off, there is no visual feedback while you
1297 are dragging a piece, but if Animate Moving is on, the move will
1298 be animated when it is complete.
1299
1300 Animate Moving
1301 If Animate Moving is on, all piece moves are animated. An image
1302 of the piece is shown moving from the old square to the new
1303 square when the move is completed (unless the move was already
1304 animated by Animate Dragging). If Animate Moving is off, a
1305 moved piece instantly disappears from its old square and reap‐
1306 pears on its new square when the move is complete. The shifted
1307 `Ctrl-A' key is a keyboard equivalent.
1308
1309 Auto Flag
1310 If this option is on and one player runs out of time before the
1311 other, XBoard will automatically call his flag, claiming a win
1312 on time. The shifted `Ctrl-F' key is a keyboard equivalent. In
1313 ICS mode, Auto Flag will only call your opponent's flag, not
1314 yours, and the ICS may award you a draw instead of a win if you
1315 have insufficient mating material. In local chess engine mode,
1316 XBoard may call either player's flag.
1317
1318 Auto Flip View
1319 If the Auto Flip View option is on when you start a game, the
1320 board will be automatically oriented so that your pawns move
1321 from the bottom of the window towards the top.
1322
1323 If you are playing a game on an ICS, the board is always ori‐
1324 ented at the start of the game so that your pawns move from the
1325 bottom of the window towards the top. Otherwise, the starting
1326 orientation is determined by the `flipView' command line option;
1327 if it is false (the default), White's pawns move from bottom to
1328 top at the start of each game; if it is true, Black's pawns move
1329 from bottom to top. See User interface options.
1330
1331 Blindfold
1332 If this option is on, XBoard displays the board as usual but
1333 does not display pieces or move highlights. You can still move
1334 in the usual way (with the mouse or by typing moves in ICS
1335 mode), even though the pieces are invisible.
1336
1337 Drop Menu
1338 Controls if right-clicking the board in crazyhouse / bughouse
1339 will pop up a menu to drop a piece on the clicked square (old,
1340 deprecated behavior) or allow you to step through an engine PV
1341 (new, recommended behavior).
1342
1343 Enable Variation Trees
1344 If this option is on, playing a move in Edit Game or Analyze
1345 mode while keeping the Shift key pressed will start a new varia‐
1346 tion. You can then recall the previous line through the `Re‐
1347 vert' menu item. When off, playing a move will truncate the
1348 game and append the move irreversibly.
1349
1350 Headers in Engine Output Window
1351 Controls the presence of column headers above the variations and
1352 associated information printed by the engine, on which you can
1353 issue button 3 clicks to open or close the columns. Available
1354 columns are search depth, score, node count, time used, table‐
1355 base hits, search speed and selective search depth.
1356
1357 Hide Thinking
1358 If this option is off, the chess engine's notion of the score
1359 and best line of play from the current position is displayed as
1360 it is thinking. The score indicates how many pawns ahead (or if
1361 negative, behind) the chess engine thinks it is. In matches be‐
1362 tween two machines, the score is prefixed by `W' or `B' to indi‐
1363 cate whether it is showing White's thinking or Black's, and only
1364 the thinking of the engine that is on move is shown. The
1365 shifted `Ctrl-H' key is a keyboard equivalent.
1366
1367 Highlight Last Move
1368 If Highlight Last Move is on, after a move is made, the starting
1369 and ending squares remain highlighted. In addition, after you
1370 use Backward or Back to Start, the starting and ending squares
1371 of the last move to be unmade are highlighted.
1372
1373 Highlight with Arrow
1374 Causes the highlighting described in Highlight Last Move to be
1375 done by drawing an arrow between the highlighted squares, so
1376 that it is visible even when the width of the grid lines is set
1377 to zero.
1378
1379 One-Click Moving
1380 If this option is on, XBoard does not wait for you to click both
1381 the from- and the to-square, or drag the piece, but performs a
1382 move as soon as it is uniqely specified. This applies to click‐
1383 ing an own piece that only has a single legal move, clicking an
1384 empty square or opponent piece where only one of your pieces can
1385 move (or capture) to. Furthermore, a double-click on a piece
1386 that can only make a single capture will cause that capture to
1387 be made. Promoting a Pawn by clicking its to-square will sup‐
1388 press the promotion popup or other methods for selecting an un‐
1389 der-promotion, and make it promote to Queen.
1390
1391 Periodic Updates
1392 If this option is off (or if you are using a chess engine that
1393 does not support periodic updates), the analysis window will
1394 only be updated when the analysis changes. If this option is on,
1395 the Analysis Window will be updated every two seconds.
1396
1397 Play Move(s) of Clicked PV
1398 If this option is on, right-clicking on the first move of a PV
1399 or on the data fields left of it in the Engine Output window
1400 during Analyze mode will cause the first move of that PV to be
1401 played. You could also play more than one (or no) PV move by
1402 moving the mouse to engage in the PV walk such a right-click
1403 will start, to seek out another position along the PV where you
1404 want to continue the analysis, before releasing the mouse but‐
1405 ton. Clicking on later moves of the PV only temporarily show
1406 the moves for as long you keep the mouse button down, without
1407 adding them to the game.
1408
1409 Ponder Next Move
1410 If this option is off, the chess engine will think only when it
1411 is on move. If the option is on, the engine will also think
1412 while waiting for you to make your move. The shifted `Ctrl-P'
1413 key is a keyboard equivalent.
1414
1415 Popup Exit Message
1416 If this option is on, when XBoard wants to display a message
1417 just before exiting, it brings up a modal dialog box and waits
1418 for you to click OK before exiting. If the option is off,
1419 XBoard prints the message to standard error (the terminal) and
1420 exits immediately.
1421
1422 Popup Move Errors
1423 If this option is off, when you make an error in moving (such as
1424 attempting an illegal move or moving the wrong color piece), the
1425 error message is displayed in the message area. If the option
1426 is on, move errors are displayed in small pop-up windows like
1427 other errors. You can dismiss an error pop-up either by click‐
1428 ing its OK button or by clicking anywhere on the board, includ‐
1429 ing down-clicking to start a move.
1430
1431 Scores in Move List
1432 If this option is on, XBoard will display the depth and score of
1433 engine moves in the Move List, in the format of a PGN comment.
1434
1435 Show Coords
1436 If this option is on, XBoard displays algebraic coordinates
1437 along the board's left and bottom edges.
1438
1439 Show Target Squares
1440 If this option is on, all squares a piece that is 'picked up'
1441 with the mouse can legally move to are highighted with a fat
1442 colored dot in yellow (non-captures) or red (captures). Special
1443 moves might have other colors (e.g. magenta for promotion, cyan
1444 for a partial move). Legality testing must be on for XBoard to
1445 know how the piece moves, but with legality testing off some en‐
1446 gines would offer this information.
1447
1448 Sticky Windows
1449 Controls whether the auxiliary windows such as Engine Output,
1450 Move History and Evaluation Graph should keep touching XBoard's
1451 main window when you move the latter.
1452
1453 Test Legality
1454 If this option is on, XBoard tests whether the moves you try to
1455 make with the mouse are legal and refuses to let you make an il‐
1456 legal move. The shifted `Ctrl-L' key is a keyboard equivalent.
1457 Moves loaded from a file with `Load Game' are also checked. If
1458 the option is off, all moves are accepted, but if a local chess
1459 engine or the ICS is active, they will still reject illegal
1460 moves. Turning off this option is useful if you are playing a
1461 chess variant with rules that XBoard does not understand. (Bug‐
1462 house, suicide, and wild variants where the king may castle af‐
1463 ter starting on the d file are generally supported with Test Le‐
1464 gality on.)
1465
1466 Top-Level Dialogs
1467 Controls whether the auxiliary windows will appear as icons in
1468 the task bar and independently controllable, or whether they
1469 open and minimize all together with the main window.
1470
1471 Flash Moves
1472 Flash Rate
1473 If this option is non-zero, whenever a move is completed, the
1474 moved piece flashes the specified number of times. The flash-
1475 rate setting determines how rapidly this flashing occurs.
1476
1477 Animation Speed
1478 Determines the duration (in msec) of an animation step, when
1479 `Animate Moving' is swiched on.
1480
1481 Zoom factor in Evaluation Graph
1482 Sets the value of the `evalZoom' option, indicating the factor
1483 by which the score interval (-1,1) should be blown up on the
1484 vertical axis of the Evaluation Graph.
1485
1486 Time Control
1487 Pops up a sub-menu where you can set the time-control parameters inter‐
1488 actively. The shifted `Alt+T' key is a keyboard equivalent.
1489
1490 classical
1491 Selects classical TC, where the game is devided into sessions of
1492 a certain number of moves, and after each session the start time
1493 is again added to the clocks.
1494
1495 incremental
1496 Selects a TC mode where the game will start with a base time on
1497 the clocks, and after every move an 'increment' will be added to
1498 it.
1499
1500 fixed max
1501 Selects a TC mode where you have to make each move within a
1502 given time, and any left-over time is not carried over to the
1503 next move.
1504
1505 Divide entered times by 60
1506 To allow entering of sub-minute initial time or sub-second in‐
1507 crement, you can tick this checkbox. The initial time can then
1508 be entered in seconds, and the increment in units of 1/60 sec‐
1509 ond.
1510
1511 Moves per session
1512 Sets the duration of a session for classical time control.
1513
1514 Initial time
1515 Time initially on the clock in classical or incremental time
1516 controls. In classical time controls this time will also be
1517 added to the clock at the start of ach new session.
1518
1519 Increment or max
1520 Time to be added to the clock after every move in incremental TC
1521 mode. Fore 'fixed maximum' TC mode, the clock will be set to
1522 this time before every move, irrespective of how much was left
1523 on that clock.
1524
1525 Time-Odds factors
1526 When these options are set to 1 the clocks of the players will
1527 be set according to the other specified TC parameters. Players
1528 can be given unequal times by specifying a time-odds factor for
1529 one of them (or a different factor for both of them). Any time
1530 received by that player will then be divided by that factor.
1531
1532 Adjudications
1533 Pops up a sub-menu where you can enable or disable various adjudica‐
1534 tions that XBoard can perform in engine-engine games. The shifted
1535 `Alt+J' key is a keyboard equivalent.
1536
1537 Detect all Mates
1538 When this option is set XBoard will terminate the game on check‐
1539 mate or stalemate, even if the engines would not do so. Only
1540 works when `Test Legality' is on.
1541
1542 Verify Engine Result Claims
1543 When this option is set XBoard will verify engine result claims,
1544 (forfeiting engines that make false claims), rather than naively
1545 beleiving the engine. Only works when `Test Legality' is on.
1546
1547 Draw if Insufficient Mating Material
1548 When this option is set XBoard will terminate games with a draw
1549 result when so little material is left that checkmate is not
1550 longer possible. In normal Chess this applies to KK, KNK, KBK
1551 and some positions with multiple Bishops all on the same square
1552 shade. Only works when `Test Legality' is on.
1553
1554 Adjudicate Trivial Draws
1555 When this option is set XBoard will terminate games with a draw
1556 result in positions that could only be won against an idiot. In
1557 normal Chess this applies to KNNK, KRKR, KBKN, KNKN, and KBKB
1558 with Bishops on different square shades. KQKQ will also be ad‐
1559 judicated a draw (possibly unjustly so). Only works when `Test
1560 Legality' is on.
1561
1562 N-Move Rule
1563 When this option is set to a value differnt from zero XBoard
1564 will terminate games with a draw result after the specified num‐
1565 ber of reversible moves (i.e. without captures or pawn pushes)
1566 is made.
1567
1568 N-fold Repeats
1569 When this option is set to a value larger than 1, XBoard will
1570 terminate games with a draw result when the same position has
1571 occurred the specified number of times.
1572
1573 Draw after N Moves Total
1574 When this option is set to a value different from zero, XBoard
1575 will terminate games with a draw result after that many moves
1576 have been played. Useful in automated engine-engine matches, to
1577 prevent one game between stubborn engines will soak up all your
1578 computer time.
1579
1580 Win / Loss Threshold
1581 When this option is set to a value different from zero, XBoard
1582 will terminate games as a win when both engines agree the score
1583 is above the specified value (interpreted as centi-Pawn) for
1584 three successive moves.
1585
1586 Negate Score of Engine #1
1587 Negate Score of Engine #2
1588 These options should be used with engines that report scores
1589 from the white point of view, rather than the side-to-move POV
1590 as XBoard would otherwise assume when adjudicating games based
1591 on the engine score. When the engine is installed with the ex‐
1592 tra option `firstScoreIsAbs' true in the engine list the option
1593 would be automatically set when the engine is loaded throuhgh
1594 the Engine menu, or with the `fe' or `se' command-line option.
1595
1596 ICS Options
1597 Pops up a menu dialog where options can be set that affect playing
1598 against an Internet Chess Server.
1599
1600 Auto-Kibitz
1601 Setting this option when playing with or aginst a chess program
1602 on an ICS will cause the last line of thinking output of the en‐
1603 gine before its move to be sent to the ICS in a kibitz command.
1604 In addition, any kibitz message received through the ICS from an
1605 opponent chess program will be diverted to the engine-output
1606 window, (and suppressed in the console), where you can play
1607 through its PV by right-clicking it.
1608
1609 Auto-Comment
1610 If this option is on, any remarks made on ICS while you are ob‐
1611 serving or playing a game are recorded as a comment on the cur‐
1612 rent move. This includes remarks made with the ICS commands
1613 `say', `tell', `whisper', and `kibitz'. Limitation: remarks
1614 that you type yourself are not recognized; XBoard scans only the
1615 output from ICS, not the input you type to it.
1616
1617 Auto-Observe
1618 If this option is on and you add a player to your `gnotify' list
1619 on ICS, XBoard will automatically observe all of that player's
1620 games, unless you are doing something else (such as observing or
1621 playing a game of your own) when one starts. The games are dis‐
1622 played from the point of view of the player on your gnotify
1623 list; that is, his pawns move from the bottom of the window to‐
1624 wards the top. Exceptions: If both players in a game are on
1625 your gnotify list, if your ICS `highlight' variable is set to 0,
1626 or if the ICS you are using does not properly support observing
1627 from Black's point of view, you will see the game from White's
1628 point of view.
1629
1630 Auto-Raise Board
1631 If this option is on, whenever a new game begins, the chessboard
1632 window is deiconized (if necessary) and raised to the top of the
1633 stack of windows.
1634
1635 Auto Save
1636 If this option is true, at the end of every game XBoard prompts
1637 you for a file name and appends a record of the game to the file
1638 you specify. Disabled if the `saveGameFile' command-line option
1639 is set, as in that case all games are saved to the specified
1640 file. See Load and Save options.
1641
1642 Background Observe while Playing
1643 Setting this option will make XBoard suppress display of any
1644 boards from observed games while you are playing. Instead the
1645 last such board will be remembered, and shown to you when you
1646 right-click the board. This allows you to peek at your bughouse
1647 partner's game when you want, without disturbing your own game
1648 too much.
1649
1650 Dual Board for Background-Observed Game
1651 Setting this option in combination with `Background Observe'
1652 will display boards of observed games while you are playing on a
1653 second board next to that of your own game.
1654
1655 Get Move List
1656 If this option is on, whenever XBoard receives the first board
1657 of a new ICS game (or a different game from the one it is cur‐
1658 rently displaying), it retrieves the list of past moves from the
1659 ICS. You can then review the moves with the `Forward' and
1660 `Backward' commands or save them with `Save Game'. You might
1661 want to turn off this option if you are observing several blitz
1662 games at once, to keep from wasting time and network bandwidth
1663 fetching the move lists over and over. When you turn this op‐
1664 tion on from the menu, XBoard immediately fetches the move list
1665 of the current game (if any).
1666
1667 Quiet Play
1668 If this option is on, XBoard will automatically issue an ICS
1669 `set shout 0' command whenever you start a game and a `set shout
1670 1' command whenever you finish one. Thus, you will not be dis‐
1671 tracted by shouts from other ICS users while playing.
1672
1673 Seek Graph
1674 Setting this option will cause XBoard to display an graph of
1675 currently active seek ads when you left-click the board while
1676 idle and logged on to an ICS.
1677
1678 Auto-Refresh Seek Graph
1679 In combination with the `Seek Graph' option this will cause au‐
1680 tomatic update of the seek graph while it is up. This only
1681 works on FICS and ICC, and requires a lot of bandwidth on a busy
1682 server.
1683
1684 Auto-InputBox PopUp
1685 Controls whether the ICS Input Box will pop up automatically
1686 when you type a printable character to the board window in ICS
1687 mode.
1688
1689 Quit After Game
1690 Controls whether XBoard will automatically disconnect from the
1691 ICS and close when the game currently in progress finishes.
1692
1693 Premove
1694 Premove for White
1695 Premove for Black
1696 First White Move
1697 First Black Move
1698 If the `Premove' option is on while playing a game on an ICS,
1699 you can register your next planned move before it is your turn.
1700 Move the piece with the mouse in the ordinary way, and the
1701 starting and ending squares will be highlighted with a special
1702 color (red by default). When it is your turn, if your regis‐
1703 tered move is legal, XBoard will send it to ICS immediately; if
1704 not, it will be ignored and you can make a different move. If
1705 you change your mind about your premove, either make a different
1706 move, or double-click on any piece to cancel the move entirely.
1707
1708 You can also enter premoves for the first white and black moves
1709 of the game.
1710
1711 Alarm
1712 Alarm Time
1713 When this option is on, an alarm sound is played when your clock
1714 counts down to the `Alarm Time' in an ICS game. (By default,
1715 the time is 5 seconds, but you can specify other values with the
1716 Alarm Time spin control.) For games with time controls that in‐
1717 clude an increment, the alarm will sound each time the clock
1718 counts down to the icsAlarmTime. By default, the alarm sound is
1719 the terminal bell, but on some systems you can change it to a
1720 sound file using the soundIcsAlarm option; see below.
1721
1722 Colorize Messages
1723 Ticking this options causes various types of ICS messages do be
1724 displayed with different foreground or background colors in the
1725 console. The colors can be individually selected for each type,
1726 through the accompanying text edits.
1727
1728 -icsMenu string
1729 The string defines buttons for the `ICS text menu'. Each button
1730 definition consists of two semi-colon-terminated pieces of text,
1731 the first giving the label to be written on the button, the sec‐
1732 ond the text that should be sent to the ICS when that button is
1733 pressed. This second part (the 'message') can contain line‐
1734 feeds, so that you can send multiple ICS commands with one but‐
1735 ton. Some message in the text, all starting with a $-sign, are
1736 treated special. When the message contains '$input', it will
1737 not be sent directly to the ICS, but will be put in the input
1738 field of the `ICS Chat/Console', with the text cursor at the in‐
1739 dicated place, so you can addsome text to the message before
1740 sending it off. If such a message starts with '$add' it will be
1741 placed behind any text that is already present in the input
1742 field, otherwise this field will be cleared first. The word
1743 '$name' occurring in the message will be replaced by the word
1744 that was clicked (through button 3) in the ICS Chat/Console.
1745 There are two special messages: '$chat' will open a new chat
1746 with the clicked word in the chat-partner field, while '$copy'
1747 will copy the text that is currently-selected in the ICS Console
1748 to the clipboard. An example of a text menu as it might occur
1749 in your settings file (where you could edit it):
1750
1751 -icsMenu {copy;$copy;
1752 list players;who;
1753 list games;games;
1754 finger (player);finger $name;
1755 bullet (player);match $name 1 1 r;
1756 blitz (player);match $name 5 1 r;
1757 rapid (player);match $name 30 0 r;
1758 open chat (player);$chat;
1759 tell (player);tell $name $input;
1760 ask pieces;ptell Please give me a $input;
1761 P;$add Pawn $input;
1762 N;$add Knight $input;
1763 B;$add Bishop $input;
1764 R;$add Rook $input;
1765 Q;$add Queen $input;
1766 }
1767
1768 Tournament Options
1769 Summons a dialog where you can set options important for playing auto‐
1770 matic matches between two or more chess programs (e.g. by using the
1771 `Machine Match' menu item in the `Mode' menu).
1772
1773 Tournament file
1774 To run a tournament, XBoard needs a file to record its progress,
1775 so it can resume the tourney when it is interrupted. When you
1776 want to conduct anything more complex than a simple two-player
1777 match with the currently loaded engines, (i.e. when you select a
1778 list of participants), you must not leave this field blank.
1779 When you enter the name of an existing tournament file, XBoard
1780 will ignore all other input specified in the dialog, and will
1781 take the corresponding info from that tournament file. This re‐
1782 sumes an interrupted tournament, or adds another XBoard agent
1783 playing games for it to those that are already doing so. Speci‐
1784 fying a not-yet-existing file will cause XBoard to create it,
1785 according to the tournament parameters specified in the rest of
1786 the dialog, before it starts the tournament on ‘OK’. Provided
1787 that you specify participants; without participants no tourna‐
1788 ment file will be made, but other entered values (e.g. for the
1789 file with opening positions) will take effect. Default: config‐
1790 ured by the `defaultTourneyName' option.
1791
1792 Sync after round
1793 Sync after cycle
1794 The sync options, when on, will cause WinBoard to refrain from
1795 starting games of the next round or cycle before all games of
1796 the previous round or cycle are finished. This guarantees cor‐
1797 rect ordering in the games file, even when multiple XBoard in‐
1798 stances are concurrently playing games for the same tourney.
1799 Default: sync after cycle, but not after round.
1800
1801 Select Engine
1802 Tourney participants
1803 From the Select Engine listbox you can pick an engine from your
1804 list of engines registered in the settings file, to be added to
1805 the tournament. The engines selected so far will be listed in
1806 the ‘Tourney participants’ memo. The latter is a normal text
1807 edit, so you can use normal text-editing functions to delete en‐
1808 gines you selected accidentally, or change their order. Typing
1809 names here yourself is not recommended, because names that do
1810 not exactly match one of the names from the selection listbox
1811 will lead to undefined behavior.
1812
1813 Tourney type
1814 Here you can specify the type of tournament you want. XBoard’s
1815 intrinsic tournament manager support round-robins (type = 0),
1816 where each participant plays every other participant, and
1817 (multi-)gauntlets, where one (or a few) so-called ‘gauntlet en‐
1818 gines’ play an independent set of opponents. In the latter
1819 case, you specify the number of gauntlet engines. E.g. if you
1820 specified 10 engines, and tourney type = 2, the first 2 engines
1821 each play the remaining 8. A value of -1 instructs XBoard to
1822 play Swiss; for this to work an external pairing engine must be
1823 specified through the `pairingEngine' option. Each Swiss round
1824 will be considered a tourney cycle in that case. Default:0
1825
1826 Number of tourney cycles
1827 Default Number of Games in Match
1828 You can specify tourneys where every two opponents play each
1829 other multiple times. Such multiple games can be played in a
1830 row, as specified by the ‘number of games per pairing’, or by
1831 repeating the entire tournament schedule a number of times
1832 (specified by the ‘number of tourney cycles’). The total number
1833 of times two engines meet will be the product of these two. De‐
1834 fault is 1 cycle; the number of games per pairing is the same as
1835 the default number of match games, stored in your settings file
1836 through the `defaultMatchGames' option.
1837
1838 Pause between Match Games
1839 Time (in milliseconds) XBoard waits before starting a new game
1840 after a previous match or tournament game finishes. Such a
1841 waiting period is important for engines that do not support
1842 'ping', as these sometimes still produce a move long after the
1843 game finished because of the opponent resigning, which would be
1844 mistaken for a move in the next game if that had already
1845 started.
1846
1847 Save Tourney Games on
1848 File where the tournament games are saved (duplicate of the item
1849 in the `Save Game Options').
1850
1851 Game File with Opening Lines
1852 File with Start Positions
1853 Game Number
1854 Position Number
1855 Rewind Index after this many Games
1856 These items optionally specify the file with move sequences or
1857 board positions the tourney games should start from. The corre‐
1858 sponding numbers specify the number of the game or position in
1859 the file. Here a value -1 means automatic stepping through all
1860 games on the file, -2 automatic stepping every two games. The
1861 Rewind-Index parameter causes a stepping index to reset to one
1862 after reaching a specified value. A setting of -2 for the game
1863 number will also be effective in a tournament without specifying
1864 a game file, but playing from the GUI book instead. In this
1865 case the first (odd) games will randomly select from the book,
1866 but the second (even) games will select the same moves from the
1867 book as the previous game. (Note this leads to the same opening
1868 only if both engines use the GUI book!) Default: No game or po‐
1869 sition file will be used. The default index if such a file is
1870 used is 1.
1871
1872 Disable own engine books by default
1873 Setting this option reverses the default situation for use of
1874 the GUI opening book in tournaments from what it normally is,
1875 namely not using it. So unless the engine is installed with an
1876 option to explicitly specify it should not use the GUI book
1877 (i.e. `-firstHasOwnBookUCI true'), it will be made to use the
1878 GUI book.
1879
1880 Replace Engine
1881 Upgrade Engine
1882 With these two buttons you can alter the participants of an al‐
1883 ready running tournament. After opening the Match Options dia‐
1884 log on an XBoard that is playing for the tourney, you will see
1885 all the tourney parameters in the dialog fields. You can then
1886 replace the name of one engine by that of another by editing the
1887 `participants' field. (But preserve the order of the others!)
1888 Pressing the button after that will cause the substitution.
1889 With the `Upgrade Engine' button the substitution will only af‐
1890 fect future games. With `Replace Engine' all games the substi‐
1891 tuted engine has already played will be invalidated, and they
1892 will be replayed with the substitute engine. In this latter
1893 case the engine must not be playing when you do this, but other‐
1894 wise there is no need to pause the tournament play for making a
1895 substitution.
1896
1897 Clone Tourney
1898 Pressing this button after you have specified an existing tour‐
1899 nament file will copy the contents of the latter to the dialog,
1900 and then puts the originally proposed name for the tourney file
1901 back. You can then run a tourney with the same parameters (pos‐
1902 sibly after changing the proposed name of the tourney file for
1903 the new tourney) by pressing 'OK'.
1904
1905 Continue Later
1906 Pressing the `Continue Later' button confirms the current value
1907 of all items in the dialog and closes it, but will not automati‐
1908 cally start the tournament. This allows you to return to the
1909 dialog later without losing the settings you already entered, to
1910 adjust paramenters through other menu dialogs. (The `Common En‐
1911 gine Setting', `Time Control' and `General Options' dialogs can
1912 be accessed without closing the `Tournament Options' dialog
1913 through the respective buttons at the bottom of the latter.)
1914
1915 Load Game Options
1916 Summons a dialog where you can set options that control loading of
1917 games.
1918
1919 Auto-Display Tags
1920 Setting this option causes a window to pop up on loading a game,
1921 displaying the PGN Tags for that game.
1922
1923 Auto-Display Comment
1924 Setting this option causes a window to pop up whenever there is
1925 a comment to (or variation on) the currently displayed move.
1926
1927 Auto-Play speed of loaded games
1928 This option sets the number of seconds between moves when a
1929 newly loaded game is auto-playing. A decimal fraction on the
1930 number is understood. Setting it to -1 disables auto-play,
1931 staying in the start position of the game after the loading com‐
1932 pletes. Setting it to 0 will instantly move to the final posi‐
1933 tion of the game. The `Auto-Play speed' is also used to deter‐
1934 mine the analysis time for each move during `Analyze Game'.
1935 Note that auto-playing (including game analysis) can be stopped
1936 at any time through the `P' button above the board.
1937
1938 options to use in game-viewer mode
1939 Specifies the options automatically set when XBoard is invoked
1940 with the option `-viewer' on its command line, as will happen
1941 when it is started in response to clicking a PGN game file. The
1942 default setting would start XBoard without engine (due to the
1943 `-ncp' option), but if you want it to automatically start with
1944 your favorite engine, and automatically start analyzing, you
1945 could include the necessary options for that here (e.g. `-fe
1946 <engine> -initialMode analysis').
1947
1948 Thresholds for position filtering in game list
1949 The following options can be set to limit the display of games
1950 in the `Game List' window to a sub-set, meeting the specified
1951 criteria.
1952
1953 Elo of strongest player at least
1954
1955 Elo of weakest player at least
1956 Games with an Elo tag specifying a lower rating for the men‐
1957 tioned player will not be diplayed in the `Game List'.
1958
1959 No games before year
1960 Games with a Date tag before the specified year will not be
1961 diplayed in the `Game List'.
1962
1963 Final nr of pieces
1964 A single number or a range (like 8-10) can be entered here, and
1965 will cause only games where the number of men in the final posi‐
1966 tion is in the given range will be diplayed in the `Game List'.
1967
1968 Minimum nr consecutive positions
1969 Specifies for how many consecutive positions the more fuzzy po‐
1970 sition-matching criteria have to be satisfied in order to count
1971 as a match.
1972
1973 Search mode
1974 find position
1975 XBoard can select games for display in the `Game List' based on
1976 whether (in addition to the conditions on the PGN tags) they
1977 contain a position that matches the position currently displayed
1978 on the board, by pressing the `find position' or `narrow' but‐
1979 tons in the `Game List' window. The `Search mode' setting de‐
1980 termines what counts as match. You can search for an exact
1981 match, a position that has all shown material in the same place,
1982 but might contain additional material, a position that has all
1983 Pawns in the same place, but can have the shown material any‐
1984 where, a position that can have all shown material anywhere,
1985 or a position that has material between certain limits anywhere.
1986 For the latter you have to place the material that must mini‐
1987 mally be present in the four lowest ranks of the board, and op‐
1988 tional additional material in the four highest ranks of the
1989 board. You can request the optional material to be balanced,
1990 i.e. equal for white and black.
1991
1992 narrow The `narrow' button is similar in fuction to the `find position'
1993 button, but only searches in the already selected games, rather
1994 than the complete game file, and can thus be used to refine a
1995 search based on multiple criteria.
1996
1997 Also match reversed colors
1998 Also match left-right flipped position
1999 When looking for matching positions rather than by material,
2000 these settings determine whether mirror images (in case of a
2001 vertical flip in combination with color reversal) will be also
2002 considered a match. The left-right flipping is only useful af‐
2003 ter all castling rights have expired (or in Xiangqi).
2004
2005 Save Game Options
2006 Summons a dialog where you can specify whether XBoard should automati‐
2007 cally save files of games when they finish, and where and how to do
2008 that.
2009
2010 Auto-Save Games
2011 When set XBoard will automatically save games on a file as they
2012 finish. (Not when you abort them by pressing `New Game',
2013 though!) It will either prompt you for a filename, or use the
2014 file specified by the `saveGameFile' option.
2015
2016 Own Games Only
2017 Setting this option will exclude games by others observed on an
2018 Internet Chess Server from automatic saving.
2019
2020 Save Games on File
2021 Name of the file on which games should be saved automatically.
2022 Games are always appended to the file, and will never overwrite
2023 anything.
2024
2025 Save Final Position on File
2026 When a name is defined, the final position of each game is ap‐
2027 pended to the mentioned file.
2028
2029 PGN Event Header
2030 Specifies the name of the event used in the PGN event tag of new
2031 games that you create.
2032
2033 Old Save Style
2034 Saves games in an obsolete and now long forgotten format, rather
2035 than as PGN. Never use this for orthodox Chess!
2036
2037 Include Number Tag in tourney PGN
2038 When on this option will cause the non-standard 'Number' tag to
2039 be written in any game saved in PGN format. It will contain the
2040 unique number of the game in the tourney. (As opposed to the
2041 'Round' tag, which can be shared by many games.)
2042
2043 Save Score/Depth Info in PGN
2044 When on this option will cause the score and depth at which it
2045 was calculated by an engine, and (when available) thinking time
2046 to be saved with the move as a comment to the move, in the for‐
2047 mat {score/depth time}. Here 'score'is in pawn units from the
2048 point of view of the player that made the move, with two digits
2049 behind the decimal Pawn.
2050
2051 Save Out-of-Book Info in PGN
2052 When on this option causes the score of the first move the en‐
2053 gine made after coming out of book in an 'Annotator' PGN tag.
2054
2055 Game List
2056 Pops up a dialog where you can select the PGN tags that should appear
2057 on the lines in the `Game List', and their order.
2058
2059
2060 Sound Options
2061 Summons a dialog where you can specify the sounds that should accompany
2062 various events that can occur in XBoard. Most events are only relevant
2063 to ICS play, but the move sound is an important exception. For each
2064 event listed in the dialog, you can select a standard sound from a
2065 menu.
2066
2067 Sound Program
2068 Specifies the command XBoard should invoke to play sounds. The
2069 specified text will be suffixed by the name of the sound file,
2070 and then run as a command.
2071
2072 Sounds Directory
2073 Specifies the directory where XBoard will look for files with
2074 the names of the standard sounds.
2075
2076 User WAV File
2077 When we type a filename here, it can be assigned to the events
2078 by selecting `Above WAV File' from the drop downs.
2079
2080 Try-Out Sound
2081 Play The 'event' triggering the Try-Out sound is pressing of the
2082 `Play' button behind it. This allows you to judge the sounds.
2083
2084 Save Settings Now
2085 Selecting this menu item causes the current XBoard settings to be writ‐
2086 ten to the settings file, (.xboardrc in your home directory), so they
2087 will also apply in future sessions. Note that some settings are
2088 'volatile', and are not saved, because XBoard considers it too unlikely
2089 that you want those to apply next time. In particular this applies to
2090 the Chess program, and all options giving information on those Chess
2091 programs (such as their directory, if they have their own opening book,
2092 if they are UCI or native XBoard), or the variant you are playing.
2093 Such options would still be understood when they appear in the settings
2094 file in case they were put there with the aid of a text editor, but
2095 they would disappear from the file as soon as you save the settings.
2096
2097 Note that XBoard no longer pays attention to options values specified
2098 in the .Xresources file. (Specifying key bindings there will still
2099 work, though.) To alter the default of volatile options, you can use
2100 the following method: Rename your ~/.xboardrc settings file (to
2101 ~/.yboardrc, say), and create a new file ~/.xboardrc, which only con‐
2102 tains the options
2103
2104 -settingsFile ~/.yboardrc
2105 -saveSettingsFile ~/.yboardrc
2106
2107 This will cause your settings to be saved on ~/.yboardrc in the future,
2108 so that ~/.xboardrc is no longer overwritten. You can then safely
2109 specify volatile options in ~/.xboardrc, either before or after the
2110 settingsFile options. Note that when you specify persistent options
2111 after the settingsFile options in this ~/.xboardrc, you will essen‐
2112 tially turn them into volatile options with the specified value as de‐
2113 fault, because that value will overrule the value loaded from the set‐
2114 tings file (being read later).
2115
2116
2117 Save Settings on Exit
2118 Setting this option has no immediate effect, but causes the settings to
2119 be saved when you quit XBoard. What happens then is otherwise identical
2120 to what happens when you use select "Save Settings Now", see there.
2121
2122
2123 Help Menu
2124 Info XBoard
2125 Displays the XBoard documentation in info format. For this fea‐
2126 ture to work, you must have the GNU info program installed on
2127 your system, and the file `xboard.info' must either be present
2128 in the current working directory, or have been installed by the
2129 `make install' command when you built XBoard.
2130
2131 Man XBoard
2132 Displays the XBoard documentation in man page format. The `F1'
2133 key is a keyboard equivalent. For this feature to work, the
2134 file `xboard.6' must have been installed by the `make install'
2135 command when you built XBoard, and the directory it was placed
2136 in must be on the search path for your system's `man' command.
2137
2138 About XBoard
2139 Shows the current XBoard version number.
2140
2141 Other Shortcut Keys
2142 Show Last Move
2143 By hitting `Enter' the last move will be re-animated.
2144
2145 Load Next Game
2146 Loads the next game from the last game record file you loaded.
2147 The `Alt+PgDn' key triggers this action.
2148
2149 Load Previous Game
2150 Loads the previous game from the last game record file you
2151 loaded. The `Alt+PgUp' key triggers this action. Not available
2152 if the last game was loaded from a pipe.
2153
2154 Reload Same Game
2155 Reloads the last game you loaded. Not available if the last
2156 game was loaded from a pipe. Currently no keystroke is assigned
2157 to this ReloadGameProc.
2158
2159 Reload Same Position
2160 Reloads the last position you loaded. Not available if the last
2161 position was loaded from a pipe. Currently no keystroke is as‐
2162 signed to this ReloadPositionProc.
2163
2164 In the Xaw build of XBoard you can add or remove shortcut keys using
2165 the X resources `paneA.translations'. Here is an example of what could
2166 go into your `.Xdefaults' file:
2167
2168 XBoard*paneA.translations: \
2169 Shift<Key>?: MenuItem(Help.About) \n\
2170 Ctrl<Key>y: MenuItem(Action.Accept) \n\
2171 Ctrl<Key>n: MenuItem(Action.Decline) \n\
2172 Ctrl<Key>i: MenuItem(Nothing)
2173
2174 So the key should always be bound to the action 'MenuItem', with the
2175 (hierarchical) name of the menu item as argument. There are a few ac‐
2176 tions available for which no menu item exists: Binding a key to `Noth‐
2177 ing' makes it do nothing, thus removing it as a shortcut key. Other
2178 such functions that can be bound to keys are:
2179
2180 AboutGame, DebugProc (switches the -debug option on or off),
2181 LoadNextGame, LoadPrevGame, ReloadGame, ReloadPosition.
2182
2183
2185 This section documents the command-line options to XBoard. You can set
2186 these options in two ways: by typing them on the shell command line you
2187 use to start XBoard, or by editing the settings file (usually
2188 ~/.xboardrc) to alter the value of the setting that was saved there.
2189 Some of the options cannot be changed while XBoard is running; others
2190 set the initial state of items that can be changed with the Options
2191 menu.
2192
2193 Most of the options have both a long name and a short name. To turn a
2194 boolean option on or off from the command line, either give its long
2195 name followed by the value true or false (`-longOptionName true'), or
2196 give just the short name to turn the option on (`-opt'), or the short
2197 name preceded by `x' to turn the option off (`-xopt'). For options that
2198 take strings or numbers as values, you can use the long or short option
2199 names interchangeably.
2200
2201
2202 Chess Engine Options
2203 -tc or -timeControl minutes[:seconds]
2204 Each player begins with his clock set to the `timeControl' pe‐
2205 riod. Default: 5 minutes. The additional options `movesPerSes‐
2206 sion' and `timeIncrement' are mutually exclusive.
2207
2208 -mps or -movesPerSession moves
2209 When both players have made `movesPerSession' moves, a new
2210 `timeControl' period is added to both clocks. Default: 40
2211 moves.
2212
2213 -inc or -timeIncrement seconds
2214 If this option is specified, `movesPerSession' is ignored. In‐
2215 stead, after each player's move, `timeIncrement' seconds are
2216 added to his clock. Use `-inc 0' if you want to require the en‐
2217 tire game to be played in one `timeControl' period, with no in‐
2218 crement. Default: -1, which specifies `movesPerSession' mode.
2219
2220 -clock/-xclock or -clockMode true/false
2221 Determines whether or not to display the chess clocks. If clock‐
2222 Mode is false, the clocks are not shown, but the side that is to
2223 play next is still highlighted. Also, unless `searchTime' is
2224 set, the chess engine still keeps track of the clock time and
2225 uses it to determine how fast to make its moves.
2226
2227 -shoMoveTime true/false
2228 When this option is set the time that has been thought about the
2229 current move will be displayed behind the remaining time in
2230 parentheses (in seconds). Default: false.
2231
2232 -st or -searchTime minutes[:seconds]
2233 Tells the chess engine to spend at most the given amount of time
2234 searching for each of its moves. Without this option, the chess
2235 engine chooses its search time based on the number of moves and
2236 amount of time remaining until the next time control. Setting
2237 this option also sets clockMode to false.
2238
2239 -depth or -searchDepth number
2240 Tells the chess engine to look ahead at most the given number of
2241 moves when searching for a move to make. Without this option,
2242 the chess engine chooses its search depth based on the number of
2243 moves and amount of time remaining until the next time control.
2244 With the option, the engine will cut off its search early if it
2245 reaches the specified depth.
2246
2247 -firstNPS number
2248 -secondNPS number
2249 Tells the chess engine to use an internal time standard based on
2250 its node count, rather then wall-clock time, to make its timing
2251 decisions. The time in virtual seconds should be obtained by
2252 dividing the node count through the given number, like the num‐
2253 ber was a rate in nodes per second. Xboard will manage the
2254 clocks in accordance with this, relying on the number of nodes
2255 reported by the engine in its thinking output. If the given num‐
2256 ber equals zero, it can obviously not be used to convert nodes
2257 to seconds, and the time reported by the engine is used to
2258 decrement the XBoard clock in stead. The engine is supposed to
2259 report in CPU time it uses, rather than wall-clock time, in this
2260 mode. This option can provide fairer conditions for engine-en‐
2261 gine matches on heavily loaded machines, or with very fast games
2262 (where the wall clock is too inaccurate). `showThinking' must
2263 be on for this option to work. Default: -1 (off). Not many en‐
2264 gines might support this yet!
2265
2266 -firstTimeOdds factor
2267 -secondTimeOdds factor
2268 Reduces the time given to the mentioned engine by the given fac‐
2269 tor. If pondering is off, the effect is indistinguishable from
2270 what would happen if the engine was running on an n-times slower
2271 machine. Default: 1.
2272
2273 -timeOddsMode mode
2274 This option determines how the case is handled where both en‐
2275 gines have a time-odds handicap. If mode=1, the engine that
2276 gets the most time will always get the nominal time, as speci‐
2277 fied by the time-control options, and its opponent's time is
2278 renormalized accordingly. If mode=0, both play with reduced
2279 time. Default: 0.
2280
2281 -hideThinkingFromHuman true/false
2282 Controls the Hide Thinking option. See Options Menu. Default:
2283 true. (Replaces the Show-Thinking option of older xboard ver‐
2284 sions.)
2285
2286 -thinking/-xthinking or -showThinking true/false
2287 Forces the engine to send thinking output to xboard. Used to be
2288 the only way to control if thinking output was displayed in
2289 older xboard versions, but as the thinking output in xboard 4.3
2290 is also used for several other purposes (adjudication, storing
2291 in PGN file) the display of it is now controlled by the new op‐
2292 tion Hide Thinking. See Options Menu. Default: false. (But if
2293 xboard needs the thinking output for some purpose, it makes the
2294 engine send it despite the setting of this option.)
2295
2296 -ponder/-xponder or -ponderNextMove true/false
2297 Sets the Ponder Next Move menu option. See Options Menu. De‐
2298 fault: true.
2299
2300 -smpCores number
2301 Specifies the maximum number of CPUs an SMP engine is allowed to
2302 use. Only works for engines that support the XBoard/WinBoard-
2303 protocol cores feature.
2304
2305 -mg or -matchGames n
2306 Automatically runs an n-game match between two chess engines,
2307 with alternating colors. If the `loadGameFile' or `loadPosi‐
2308 tionFile' option is set, XBoard starts each game with the given
2309 opening moves or the given position; otherwise, the games start
2310 with the standard initial chess position. If the `saveGameFile'
2311 option is set, a move record for the match is appended to the
2312 specified file. If the `savePositionFile' option is set, the fi‐
2313 nal position reached in each game of the match is appended to
2314 the specified file. When the match is over, XBoard displays the
2315 match score and exits. Default: 0 (do not run a match).
2316
2317 -mm/-xmm or -matchMode true/false
2318 Setting `matchMode' to true is equivalent to setting
2319 `matchGames' to 1.
2320
2321 -sameColorGames n
2322 Automatically runs an n-game match between two chess engines,
2323 without alternating colors. Otherwise the same applies as for
2324 the `-matchGames' option, over which it takes precedence if both
2325 are specified. (See there.) Default: 0 (do not run a match).
2326
2327 -epd This option puts XBoard in a special mode for solving EPD test-
2328 suites, for the entire duration of the session. In this mode
2329 games are aborted after a single move, and that move will be
2330 compared with the best-move or avoid-move from the EPD position
2331 description from which the 'game' was started. Playing a best
2332 move counts as a win, playing an avoid move as a loss, and play‐
2333 ing any other move counts as a draw. This option should be used
2334 in combination with match mode, and an EPD file of starting po‐
2335 sitions with an auto-incrementing index. Color assignment will
2336 be such that the first engine plays all moves, and the second
2337 engine will be never involved. The results for individual posi‐
2338 tions, as well as the time used for solving them, will be re‐
2339 ported in the lower pane of the Engine Output window.
2340
2341 -fcp or -firstChessProgram program
2342 -scp or -secondChessProgram program
2343 Name of first and second chess engine, respectively. A second
2344 chess engine is started only in Two Machines (match) mode, or in
2345 Analyze mode with two engines. The second engine is by default
2346 the same as the first. Default for the first engine: `fairy‐
2347 max'.
2348
2349 -fe or -firstEngine nickname
2350 -se or -secondEngine nickname
2351 This is an alternative to the `fcp' and `scp' options for speci‐
2352 fying the first and second engine, for engines that were already
2353 registered (using the `Load Engine' dialog) in XBoard's settings
2354 file. It will not only retrieve the real name of the engine,
2355 but also all options configured with it. (E.g. if it is UCI,
2356 whether it should use book.)
2357
2358 -fb/-xfb or -firstPlaysBlack true/false
2359 In games between two chess engines, firstChessProgram normally
2360 plays white. If this option is true, firstChessProgram plays
2361 black. In a multi-game match, this option affects the colors
2362 only for the first game; they still alternate in subsequent
2363 games.
2364
2365 -fh or -firstHost host
2366 -sh or -secondHost host
2367 Hosts on which the chess engines are to run. The default for
2368 each is `localhost'. If you specify another host, XBoard uses
2369 `rsh' to run the chess engine there. (You can substitute a dif‐
2370 ferent remote shell program for rsh using the `remoteShell' op‐
2371 tion described below.)
2372
2373 -fd or -firstDirectory dir
2374 -sd or -secondDirectory dir
2375 Working directories in which the chess engines are to be run.
2376 The default is "", which means to run the chess engine in the
2377 same working directory as XBoard itself. (See the CHESSDIR en‐
2378 vironment variable.) This option is effective only when the
2379 chess engine is being run on the local host; it does not work if
2380 the engine is run remotely using the -fh or -sh option.
2381
2382 -initString string or -firstInitString
2383 -secondInitString string
2384 The string that is sent to initialize each chess engine for a
2385 new game. Default:
2386
2387 new
2388 random
2389
2390 Setting this option from the command line is tricky, because you
2391 must type in real newline characters, including one at the very
2392 end. In most shells you can do this by entering a `\' character
2393 followed by a newline. Using the character sequence `\n' in the
2394 string should work too, though.
2395
2396 If you change this option, don't remove the `new' command; it is
2397 required by all chess engines to start a new game.
2398
2399 You can remove the `random' command if you like; including it
2400 causes GNU Chess 4 to randomize its move selection slightly so
2401 that it doesn't play the same moves in every game. Even without
2402 `random', GNU Chess 4 randomizes its choice of moves from its
2403 opening book. Many other chess engines ignore this command en‐
2404 tirely and always (or never) randomize.
2405
2406 You can also try adding other commands to the initString; see
2407 the documentation of the chess engine you are using for details.
2408
2409 -firstComputerString string
2410 -secondComputerString string
2411 The string that is sent to the chess engine if its opponent is
2412 another computer chess engine. The default is `computer\n'.
2413 Probably the only useful alternative is the empty string (`'),
2414 which keeps the engine from knowing that it is playing another
2415 computer.
2416
2417 -reuse/-xreuse or -reuseFirst true/false
2418 -reuse2/-xreuse2 or -reuseSecond true/false
2419 If the option is false, XBoard kills off the chess engine after
2420 every game and starts it again for the next game. If the option
2421 is true (the default), XBoard starts the chess engine only once
2422 and uses it repeatedly to play multiple games. Some old chess
2423 engines may not work properly when reuse is turned on, but oth‐
2424 erwise games will start faster if it is left on.
2425
2426 -firstProtocolVersion version-number
2427 -secondProtocolVersion version-number
2428 This option specifies which version of the chess engine communi‐
2429 cation protocol to use. By default, version-number is 2. In
2430 version 1, the "protover" command is not sent to the engine;
2431 since version 1 is a subset of version 2, nothing else changes.
2432 Other values for version-number are not supported.
2433
2434 -firstScoreAbs true/false
2435 -secondScoreAbs true/false
2436 If this option is set, the score reported by the engine is taken
2437 to be that in favor of white, even when the engine plays black.
2438 Important when XBoard uses the score for adjudications, or in
2439 PGN reporting.
2440
2441 -niceEngines priority
2442 This option allows you to lower the priority of the engine pro‐
2443 cesses, so that the generally insatiable hunger for CPU time of
2444 chess engines does not interfere so much with smooth operation
2445 of XBoard (or the rest of your system). Negative values could
2446 increase the engine priority, which is not recommended.
2447
2448 -firstOptions string
2449 -secondOptions string
2450 The given string is a comma-separated list of (option name=op‐
2451 tion value) pairs, like the following example: "style=Kar‐
2452 pov,blunder rate=0". If an option announced by the engine at
2453 startup through the feature commands of the XBoard/WinBoard pro‐
2454 tocol matches one of the option names (i.e. "style" or "blunder
2455 rate"), it would be set to the given value (i.e. "Karpov" or 0)
2456 through a corresponding option command to the engine. This pro‐
2457 vided that the type of the value (text or numeric) matches as
2458 well.
2459
2460 -firstNeedsNoncompliantFEN string
2461 -secondNeedsNoncompliantFEN string
2462 The castling rights and e.p. fields of the FEN sent to the men‐
2463 tioned engine with the setboard command will be replaced by the
2464 given string. This can for instance be used to run engines that
2465 do not understand Chess960 FENs in variant fischerandom, to make
2466 them at least understand the opening position, through setting
2467 the string to "KQkq -". (Note you also have to give the e.p.
2468 field!) Other possible applications are to provide work-arounds
2469 for engines that want to see castling and e.p. fields in vari‐
2470 ants that do not have castling or e.p. (shatranj, courier, xi‐
2471 angqi, shogi) so that XBoard would normally omit them (string =
2472 "- -"), or to add variant-specific fields that are not yet sup‐
2473 ported by XBoard (e.g. to indicate the number of checks in
2474 3check).
2475
2476 -shuffleOpenings
2477 Forces shuffling of the opening setup in variants that normally
2478 have a fixed initial position. Shufflings are symmetric for
2479 black and white, and exempt King and Rooks in variants with nor‐
2480 mal castling. Remains in force until a new variant is selected.
2481
2482 -fischerCastling
2483 Specifies Fischer castling (as in Chess960) should be enabled in
2484 variants that normally would not have it. Remains in force un‐
2485 til a new variant is selected.
2486
2487 UCI + WB Engine Settings
2488 -fUCI or -firstIsUCI true/false
2489 -sUCI or -secondIsUCI true/false
2490 Indicates if the mentioned engine executable file is a UCI en‐
2491 gine, and should be run with the aid of the Polyglot adapter
2492 rather than directly. Xboard will then pass the other UCI op‐
2493 tions and engine name to Polyglot on its command line, according
2494 to the option `adapterCommand'.
2495
2496 -fUCCI
2497 -sUCCI
2498 -fUSI
2499 -sUSI Options similar to `fUCI' and `sUCI', except that they use the
2500 indicated engine with the protocol adapter specified in the `ux‐
2501 iAdapter' option. This can then be configured for running a
2502 UCCI or USI adapter, as the need arises.
2503
2504 -adapterCommand string
2505 The string contains the command that should be issued by XBoard
2506 to start an engine that is accompanied by the `fUCI' option.
2507 Any identifier following a percent sign in the command (e.g.
2508 %fcp) will be considered the name of an XBoard option, and be
2509 replaced by the value of that option at the time the engine is
2510 started. For starting the second engine, any leading "f" or
2511 "first" in the option name will first be replaced by "s" or
2512 "second", before finding its value. Default: 'polyglot -noini
2513 -ec "%fcp" -ed "%fd"'
2514
2515 -uxiAdapter string
2516 Similar to `adapterCommand', but used for engines accompanied by
2517 the `fUCCI' or `fUSI' option, so you can configure XBoard to be
2518 ready to handle more than one flavor of non-native protocols.
2519 Default: ""
2520
2521 -polyglotDir filename
2522 Gives the name of the directory in which the Polyglot adapter
2523 for UCI engines resides. Default: "".
2524
2525 -usePolyglotBook true/false
2526 Specifies if the Polyglot book should be used as GUI book.
2527
2528 -polyglotBook filename
2529 Gives the filename of the opening book. The book is only used
2530 when the `usePolyglotBook' option is set to true, and the option
2531 `firstHasOwnBookUCI' or `secondHasOwnBookUCI' applying to the
2532 engine is set to false. The engine will be kept in force mode
2533 as long as the current position is in book, and XBoard will se‐
2534 lect the book moves for it. Default: "".
2535
2536 -fNoOwnBookUCI or -firstXBook or -firstHasOwnBookUCI true/false
2537 -sNoOwnBookUCI or -secondXBook or -secondHasOwnBookUCI true/false
2538 Indicates if the mentioned engine has its own opening book it
2539 should play from, rather than using the external book through
2540 XBoard. Default: depends on setting of the option `discourage‐
2541 OwnBooks'.
2542
2543 -discourageOwnBooks true/false
2544 When set, newly loaded engines will be assumed to use the GUI
2545 book, unless they explicitly specify differently. Otherwise
2546 they will be assumed to not use the GUI book, unless the specify
2547 differently (e.g. with `firstXBook'). Default: false.
2548
2549 -bookDepth n
2550 Limits the use of the GUI book to the first n moves of each
2551 side. Default: 12.
2552
2553 -bookVariation n
2554 A value n from 0 to 100 tunes the choice of moves from the GUI
2555 books from totally random to best-only. Default: 50
2556
2557 -mcBookMode
2558 When this volatile option is specified, the probing algorithm of
2559 the GUI book is altered to always select the move that is most
2560 under-represented based on its performance. When all moves are
2561 played in approximately the right proportion, a book miss will
2562 be reported, to give the engine opportunity to explore a new
2563 move. In addition score of the moves will be kept track of dur‐
2564 ing the session in a book buffer. By playing an match in this
2565 mode, a book will be built from scratch. The only output are
2566 the saved games, which can be converted to an actual book later,
2567 with the `Save Games as Book' command. The latter command can
2568 also be used to pre-fill the book buffer before adding new games
2569 based on the probing algorithm.
2570
2571 -fn string or -firstPgnName string
2572 -sn string or -secondPgnName string
2573 Indicates the name that should be used for the engine in PGN
2574 tags of engine-engine games. Intended to allow you to install
2575 versions of the same engine with different settings, and still
2576 distinguish them. Default: "".
2577
2578 -defaultHashSize n
2579 Sets the size of the hash table to n MegaBytes. Together with
2580 the EGTB cache size this number is also used to calculate the
2581 memory setting of XBoard/WinBoard engines, for those that sup‐
2582 port the memory feature of the XBoard/WinBoard protocol. De‐
2583 fault: 64.
2584
2585 -defaultCacheSizeEGTB n
2586 Sets the size of the EGTB cache to n MegaBytes. Together with
2587 the hash-table size this number is also used to calculate the
2588 memory setting of XBoard/WinBoard engines, for those that sup‐
2589 port the memory feature of the XBoard/WinBoard protocol. De‐
2590 fault: 4.
2591
2592 -defaultPathEGTB filename
2593 Gives the name of the directory where the end-game tablebases
2594 are installed, for UCI engines. Default: "/usr/lo‐
2595 cal/share/egtb".
2596
2597 -egtFormats string
2598 Specifies which end-game tables are installed on the computer,
2599 and where. The argument is a comma-separated list of format
2600 specifications, each specification consisting of a format name,
2601 a colon, and a directory path name, e.g. "nalimov:/usr/lo‐
2602 cal/share/egtb". If the name part matches that of a format that
2603 the engine requests through a feature command, xboard will relay
2604 the path name for this format to the engine through an egtpath
2605 command. One egtpath command for each matching format will be
2606 sent. Popular formats are "nalimov" and "gaviota" DTM table‐
2607 bases, syzygy DTZ tablebases and "scorpio" bitbases. Default:
2608 "".
2609
2610 -firstChessProgramNames={names}
2611 This option lets you customize the listbox with chess-engine
2612 names that appears in the `Load Engine' and `Tournament Options'
2613 dialog. It consists of a list of strings, one per line. When
2614 an engine is loaded, the corresponding line is prefixed with
2615 "-fcp ", and processed like it appeared on the command line.
2616 That means that apart from the engine command, it can contain
2617 any number of XBoard options you want to use with this engine.
2618 (Commonly used options here are -fd, -firstXBook, -fUCI, -vari‐
2619 ant.)
2620
2621 The value of this option is gradually built as you load new en‐
2622 gines through the `Load Engine' menu dialog, with `Add to list'
2623 ticked. To change it in other ways, (e.g. deleting engines),
2624 use the menu item `Edit Engine List' in the `Engine' menu.
2625
2626 Tournament options
2627 -defaultMatchGames n
2628 Sets the number of games that will be used for a match between
2629 two engines started from the menu to n. Also used as games per
2630 pairing in other tournament formats. Default: 10.
2631
2632 -matchPause n
2633 Specifies the duration of the pause between two games of a match
2634 or tournament between engines as n milliseconds. Especially en‐
2635 gines that do not support ping need this option, to prevent that
2636 the move they are thinking on when an opponent unexpectedly re‐
2637 signs will be counted for the next game, (leading to illegal
2638 moves there). Default: 10000.
2639
2640 -tf filename or -tourneyFile filename
2641 Specifies the name of the tournament file used in match mode to
2642 conduct a multi-player tournament. This file is a special set‐
2643 tings file, which stores the description of the tournament (in‐
2644 cluding progress info), through normal options (e.g. for time
2645 control, load and save files), and through some special-purpose
2646 options listed below.
2647
2648 -tt number or -tourneyType number
2649 Specifies the type of tourney: 0 = round-robin, N>0 =
2650 (multi-)gauntlet with N gauntlet engines, -1 = Swiss through ex‐
2651 ternal pairing engine. Volatile option, but stored in tourney
2652 file.
2653
2654 -cy number or -tourneyCycles number
2655 Specifies the number of cycles in a tourney. Volatile option,
2656 but stored in tourney file.
2657
2658 -participants list
2659 The list is a multi-line text string that specifies engines oc‐
2660 curring in the `firstChesProgramNames' list in the settings file
2661 by their (implied or explicitly given) nicknames, one engine per
2662 line. The mentioned engines will play in the tourney. Volatile
2663 option, but stored in tourney file.
2664
2665 -results string
2666 The string of +=- characters lists the result of all played
2667 games in a tourney. Games currently playing are listed as *,
2668 while a space indicates a game that is not yet played. Volatile
2669 option, but stored in tourney file.
2670
2671 -defaultTourneyName string
2672 Specifies the name of the tournament file XBoard should propose
2673 when the `Match Options' dialog is opened. Any %y, %M, %d, %h,
2674 %m, %s in the string are replaced by the current year, month,
2675 day of the month, hours, minutes, seconds of the current time,
2676 respectively, as two-digit number. A %Y would be replaced by
2677 the year as 4-digit number. Default: empty string.
2678
2679 -pairingEngine filename
2680 Specifies the external program to be used to pair the partici‐
2681 pants in Swiss tourneys. XBoard communicates with this engine
2682 in the same way as it communicates with Chess engines. The only
2683 commands sent to the pairing engine are “results N string”,
2684 (where N is the number of participants, and string the results
2685 so far in the format of the results option), and “pairing N”,
2686 (where N is the number of the tourney game). To the latter the
2687 pairing engine should answer with “A-B”, where A and B are par‐
2688 ticipant numbers (in the range 1-N). (There should be no reply
2689 to the results command.) Default: empty string.
2690
2691 -afterGame string
2692 -afterTourney string
2693 When non-empty, the given string will be executed as a system
2694 command after each tournament game, or after the tourney com‐
2695 pletes, respectively. This can be used, for example, to autmat‐
2696 ically run a cross-table generator on the PGN file where games
2697 are saved, to update the tourney standings. Default: ""
2698
2699 -syncAfterRound true/false
2700 -syncAfterCycle true/false
2701 Controls whether different instances of XBoard concurrently run‐
2702 ning the same tournament will wait for each other. Defaults:
2703 sync after cycle, but not after round.
2704
2705 -seedBase number
2706 Used to store the seed of the pseudo-random-number generator in
2707 the tourneyFile, so that separate instances of XBoard working on
2708 the same tourney can take coherent 'random' decisions, such as
2709 picking an opening for a given game number.
2710
2711 ICS options
2712 -ics/-xics or -internetChessServerMode true/false
2713 Connect with an Internet Chess Server to play chess against its
2714 other users, observe games they are playing, or review games
2715 that have recently finished. Default: false.
2716
2717 -icshost or -internetChessServerHost host
2718 The Internet host name or address of the chess server to connect
2719 to when in ICS mode. Default: `chessclub.com'. Another popular
2720 chess server to try is `freechess.org'. If your site doesn't
2721 have a working Internet name server, try specifying the host ad‐
2722 dress in numeric form. You may also need to specify the numeric
2723 address when using the icshelper option with timestamp or time‐
2724 seal (see below).
2725
2726 -icsport or -internetChessServerPort port-number
2727 The port number to use when connecting to a chess server in ICS
2728 mode. Default: 5000.
2729
2730 -icshelper or -internetChessServerHelper prog-name
2731 An external helper program used to communicate with the chess
2732 server. You would set it to "timestamp" for ICC (chessclub.com)
2733 or "timeseal" for FICS (freechess.org), after obtaining the cor‐
2734 rect version of timestamp or timeseal for your computer. See
2735 "help timestamp" on ICC and "help timeseal" on FICS. This op‐
2736 tion is shorthand for `-useTelnet -telnetProgram program'.
2737
2738 -telnet/-xtelnet or -useTelnet true/false
2739 This option is poorly named; it should be called useHelper. If
2740 set to true, it instructs XBoard to run an external program to
2741 communicate with the Internet Chess Server. The program to use
2742 is given by the telnetProgram option. If the option is false
2743 (the default), XBoard opens a TCP socket and uses its own inter‐
2744 nal implementation of the telnet protocol to communicate with
2745 the ICS. See Firewalls.
2746
2747 -telnetProgram prog-name
2748 This option is poorly named; it should be called helperProgram.
2749 It gives the name of the telnet program to be used with the
2750 `gateway' and `useTelnet' options. The default is `telnet'. The
2751 telnet program is invoked with the value of `inter‐
2752 netChessServerHost' as its first argument and the value of `in‐
2753 ternetChessServerPort' as its second argument. See Firewalls.
2754
2755 -gateway host-name
2756 If this option is set to a host name, XBoard communicates with
2757 the Internet Chess Server by using `rsh' to run the `telnetPro‐
2758 gram' on the given host, instead of using its own internal im‐
2759 plementation of the telnet protocol. You can substitute a dif‐
2760 ferent remote shell program for `rsh' using the `remoteShell'
2761 option described below. See Firewalls.
2762
2763 -internetChessServerCommPort or -icscomm dev-name
2764 If this option is set, XBoard communicates with the ICS through
2765 the given character I/O device instead of opening a TCP connec‐
2766 tion. Use this option if your system does not have any kind of
2767 Internet connection itself (not even a SLIP or PPP connection),
2768 but you do have dial-up access (or a hardwired terminal line) to
2769 an Internet service provider from which you can telnet to the
2770 ICS.
2771
2772 The support for this option in XBoard is minimal. You need to
2773 set all communication parameters and tty modes before you enter
2774 XBoard.
2775
2776 Use a script something like this:
2777
2778 stty raw -echo 9600 > /dev/tty00
2779 xboard -ics -icscomm /dev/tty00
2780
2781 Here replace `/dev/tty00' with the name of the device that your
2782 modem is connected to. You might have to add several more op‐
2783 tions to these stty commands. See the man pages for `stty' and
2784 `tty' if you run into problems. Also, on many systems stty works
2785 on its standard input instead of standard output, so you have to
2786 use `<' instead of `>'.
2787
2788 If you are using linux, try starting with the script below.
2789 Change it as necessary for your installation.
2790
2791 #!/bin/sh -f
2792 # configure modem and fire up XBoard
2793
2794 # configure modem
2795 (
2796 stty 2400 ; stty raw ; stty hupcl ; stty -clocal
2797 stty ignbrk ; stty ignpar ; stty ixon ; stty ixoff
2798 stty -iexten ; stty -echo
2799 ) < /dev/modem
2800 xboard -ics -icscomm /dev/modem
2801
2802 After you start XBoard in this way, type whatever commands are
2803 necessary to dial out to your Internet provider and log in.
2804 Then telnet to ICS, using a command like `telnet chessclub.com
2805 5000'. Important: See the paragraph below about extra echoes,
2806 in Limitations.
2807
2808 -icslogon or -internetChessServerLogonScript file-name
2809 Whenever XBoard connects to the Internet Chess Server, if it
2810 finds a file with the name given in this option, it feeds the
2811 file's contents to the ICS as commands. The default file name is
2812 `.icsrc'. Usually the first two lines of the file should be
2813 your ICS user name and password. The file can be either in
2814 $CHESSDIR, in XBoard's working directory if CHESSDIR is not set,
2815 or in your home directory.
2816
2817 -msLoginDelay delay
2818 If you experience trouble logging on to an ICS when using the
2819 `-icslogon' option, inserting some delay between characters of
2820 the logon script may help. This option adds `delay' milliseconds
2821 of delay between characters. Good values to try are 100 and 250.
2822
2823 -icsinput/-xicsinput or -internetChessServerInputBox true/false
2824 Sets the ICS Input Box menu option. See Mode Menu. Default:
2825 false.
2826
2827 -autocomm/-xautocomm or -autoComment true/false
2828 Sets the Auto Comment menu option. See Options Menu. Default:
2829 false.
2830
2831 -autoflag/-xautoflag or -autoCallFlag true/false
2832 Sets the Auto Flag menu option. See Options Menu. Default:
2833 false.
2834
2835 -autobs/-xautobs or -autoObserve true/false
2836 Sets the Auto Observe menu option. See Options Menu. Default:
2837 false.
2838
2839 -autoKibitz
2840 Enables kibitzing of the engines last thinking output (depth,
2841 score, time, speed, PV) before it moved to the ICS, in zippy
2842 mode. The option `showThinking' must be switched on for this op‐
2843 tion to work. Also diverts similar kibitz information of an op‐
2844 ponent engine that is playing you through the ICS to the engine-
2845 output window, as if the engine was playing locally.
2846
2847 -seekGraph true/false or -sg
2848 Enables displaying of the seek graph by left-clicking the board
2849 when you are logged on to an ICS and currently idle. The seek
2850 graph show all players currently seeking games on the ICS, plot‐
2851 ted according to their rating and the time control of the game
2852 they seek, in three different colors (for rated, unrated and
2853 wild games). Computer ads are displayed as squares, human ads
2854 are dots. Default: false.
2855
2856 -autoRefresh true/false
2857 Enables automatic updating of the seek graph, by having the ICS
2858 send a running update of all newly placed and removed seek ads.
2859 This consumes a substantial amount of communication bandwidth,
2860 and is only supported for FICS and ICC. Default: false.
2861
2862 -backgroundObserve true/false
2863 When true, boards sent to you by the ICS from other games while
2864 you are playing (e.g. because you are observing them) will not
2865 be automatically displayed. Only a summary of time left and ma‐
2866 terial of both players will appear in the message field above
2867 the board. XBoard will remember the last board it has received
2868 this way, and will display it instead of the position in your
2869 own game when you press the right mouse button. No other infor‐
2870 mation is stored on such games observed in the background; you
2871 cannot save such a game later, or step through its moves. This
2872 feature is provided solely for the benefit of bughouse players,
2873 to enable them to peek at their partner's game without the need
2874 to logon twice. Default: false.
2875
2876 -dualBoard true/false
2877 In combination with -backgroundObserve true, this option will
2878 display the board of the background game side by side with that
2879 of your own game, so you can have it in view permanently. Any
2880 board or holdings info coming in will be displayed on the sec‐
2881 ondary board immediately. This feature is still experimental
2882 and largely unfinished. There is no animation or highlighting
2883 of moves on the secondary board. Default: false.
2884
2885 -disguisePromotedPieces true/false
2886 When set promoted Pawns in crazyhouse/bughouse are displayed
2887 identical to primordial pieces of the same type, rather than
2888 distinguishable. Default: true.
2889
2890 -moves/-xmoves or -getMoveList true/false
2891 Sets the Get Move List menu option. See Options Menu. Default:
2892 true.
2893
2894 -alarm/-xalarm or -icsAlarm true/false
2895 Sets the ICS Alarm menu option. See Options Menu. Default:
2896 true.
2897
2898 -icsAlarmTime ms
2899 Sets the time in milliseconds for the ICS Alarm menu option.
2900 See Options Menu. Default: 5000.
2901
2902 lowTimeWarning true/false
2903 Controls a color change of the board as a warning your time is
2904 running out. See Options Menu. Default: false.
2905
2906 -pre/-xpre or -premove true/false
2907 Sets the Premove menu option. See Options Menu. Default: true.
2908
2909 -prewhite/-xprewhite or -premoveWhite
2910 -preblack/-xpreblack or -premoveBlack
2911 -premoveWhiteText string
2912 -premoveBlackText string
2913 Set the menu options for specifying the first move for either
2914 color. See Options Menu. Defaults: false and empty strings, so
2915 no pre-moves.
2916
2917 -quiet/-xquiet or -quietPlay true/false
2918 Sets the Quiet Play menu option. See Options Menu. Default:
2919 false.
2920
2921 -colorizeMessages or -colorize/-xcolorize
2922 Setting colorizeMessages to true tells XBoard to colorize the
2923 messages received from the ICS. Colorization works only if your
2924 xterm supports ISO 6429 escape sequences for changing text col‐
2925 ors. Default: true.
2926
2927 -colorShout foreground,background,bold
2928 -colorSShout foreground,background,bold
2929 -colorCShout foreground,background,bold
2930 -colorChannel1 foreground,background,bold
2931 -colorChannel foreground,background,bold
2932 -colorKibitz foreground,background,bold
2933 -colorTell foreground,background,bold
2934 -colorChallege foreground,background,bold
2935 -colorRequest foreground,background,bold
2936 -colorSeek foreground,background,bold
2937 -colorNormal foreground,background,bold
2938 These options set the colors used when colorizing ICS messages.
2939 All ICS messages are grouped into one of these categories:
2940 shout, sshout, channel 1, other channel, kibitz, tell, chal‐
2941 lenge, request (including abort, adjourn, draw, pause, and take‐
2942 back), or normal (all other messages).
2943
2944 Each foreground or background argument can be one of the follow‐
2945 ing: black, red, green, yellow, blue, magenta, cyan, white, or
2946 default. Here ``default'' means the default foreground or back‐
2947 ground color of your xterm. Bold can be 1 or 0. If background
2948 is omitted, ``default'' is assumed; if bold is omitted, 0 is as‐
2949 sumed.
2950
2951
2952 -soundProgram progname
2953 If this option is set to a sound-playing program that is in‐
2954 stalled and working on your system, XBoard can play sound files
2955 when certain events occur, listed below. The default program
2956 name is "play". If any of the sound options is set to "$", the
2957 event rings the terminal bell by sending a ^G character to stan‐
2958 dard output, instead of playing a sound file. If an option is
2959 set to the empty string "", no sound is played for that event.
2960
2961 -soundDirectory directoryname
2962 This option specifies where XBoard will look for sound files,
2963 when these are not given as an absolute path name.
2964
2965 -soundShout filename
2966 -soundSShout filename
2967 -soundCShout filename
2968 -soundChannel filename
2969 -soundChannel1 filename
2970 -soundKibitz filename
2971 -soundTell filename
2972 -soundChallenge filename
2973 -soundRequest filename
2974 -soundSeek filename
2975 These sounds are triggered in the same way as the colorization
2976 events described above. They all default to "", no sound. They
2977 are played only if the colorizeMessages is on. CShout is syn‐
2978 onymous with SShout.
2979
2980 -soundMove filename
2981 This sound is played when a player other than yourself makes a
2982 move. Default: "$".
2983
2984 -soundRoar filename
2985 This sound is played when a Lion makes a hit-and-run or double
2986 capture/ Default: "" (no sound).
2987
2988 -soundIcsAlarm filename
2989 This sound is used by the ICS Alarm menu option. Default: "$".
2990
2991 -soundIcsWin filename
2992 This sound is played when you win an ICS game. Default: "" (no
2993 sound).
2994
2995 -soundIcsLoss filename
2996 This sound is played when you lose an ICS game. Default: "" (no
2997 sound).
2998
2999 -soundIcsDraw filename
3000 This sound is played when you draw an ICS game. Default: "" (no
3001 sound).
3002
3003 -soundIcsUnfinished filename
3004 This sound is played when an ICS game that you are participating
3005 in is aborted, adjourned, or otherwise ends inconclusively. De‐
3006 fault: "" (no sound).
3007
3008 Load and Save options
3009 -lgf or -loadGameFile file
3010 -lgi or -loadGameIndex index
3011 If the `loadGameFile' option is set, XBoard loads the specified
3012 game file at startup. The file name `-' specifies the standard
3013 input. If there is more than one game in the file, XBoard pops
3014 up a menu of the available games, with entries based on their
3015 PGN (Portable Game Notation) tags. If the `loadGameIndex' op‐
3016 tion is set to `N', the menu is suppressed and the N th game
3017 found in the file is loaded immediately. The menu is also sup‐
3018 pressed if `matchMode' is enabled or if the game file is a pipe;
3019 in these cases the first game in the file is loaded immediately.
3020 Use the `pxboard' shell script provided with XBoard if you want
3021 to pipe in files containing multiple games and still see the
3022 menu. If the loadGameIndex specifies an index -1, this triggers
3023 auto-increment of the index in `matchMode', which means that af‐
3024 ter every game the index is incremented by one, causing each
3025 game of the match to be played from the next game in the file.
3026 Similarly, specifying an index value of -2 causes the index to
3027 be incremented every two games, so that each game in the file is
3028 used twice (with reversed colors). The `rewindIndex' option
3029 causes the index to be reset to the first game of the file when
3030 it has reached a specified value.
3031
3032 -rewindIndex n
3033 Causes a position file or game file to be rewound to its begin‐
3034 ning after n positions or games in auto-increment `matchMode'.
3035 See `loadPositionIndex' and `loadGameIndex'. default: 0 (no
3036 rewind).
3037
3038 -td or -timeDelay seconds
3039 Time delay between moves during `Load Game' or `Analyze File'.
3040 Fractional seconds are allowed; try `-td 0.4'. A time delay
3041 value of -1 tells XBoard not to step through game files automat‐
3042 ically. Default: 1 second.
3043
3044 -sgf or -saveGameFile file
3045 If this option is set, XBoard appends a record of every game
3046 played to the specified file. The file name `-' specifies the
3047 standard output.
3048
3049 -autosave/-xautosave or -autoSaveGames true/false
3050 Sets the Auto Save menu option. See Options Menu. Default:
3051 false. Ignored if `saveGameFile' is set.
3052
3053 -onlyOwnGames true/false
3054 Suppresses auto-saving of ICS observed games. Default: false.
3055
3056 -lpf or -loadPositionFile file
3057 -lpi or -loadPositionIndex index
3058 If the `loadPositionFile' option is set, XBoard loads the speci‐
3059 fied position file at startup. The file name `-' specifies the
3060 standard input. If the `loadPositionIndex' option is set to N,
3061 the Nth position found in the file is loaded; otherwise the
3062 first position is loaded. If the loadPositionIndex specifies an
3063 index -1, this triggers auto-increment of the index in `match‐
3064 Mode', which means that after every game the index is incre‐
3065 mented by one, causing each game of the match to be played from
3066 the next position in the file. Similarly, specifying an index
3067 value of -2 causes the index to be incremented every two games,
3068 so that each position in the file is used twice (with the en‐
3069 gines playing opposite colors). The `rewindIndex' option causes
3070 the index to be reset to the first position of the file when it
3071 has reached a specified value.
3072
3073 -spf or -savePositionFile file
3074 If this option is set, XBoard appends the final position reached
3075 in every game played to the specified file. The file name `-'
3076 specifies the standard output.
3077
3078 -positionDir directory
3079 Specifies the directory where file browsing should start when
3080 using the `Load Position' menu item.
3081
3082 -pgnExtendedInfo true/false
3083 If this option is set, XBoard saves depth, score and time used
3084 for each move that the engine found as a comment in the PGN
3085 file. Default: false.
3086
3087 -pgnTimeLeft true/false
3088 If this option is set, XBoard will save the remaining clock time
3089 for the player that has just moved as part of the `pgnExtended‐
3090 Info', rather than the time that player thought about his latest
3091 move. Default: false.
3092
3093 -pgnEventHeader string
3094 Default: false. Sets the name used in the PGN event tag to
3095 string. Default: "Computer Chess Game".
3096
3097 -pgnNumberTag true/false
3098 Include the (unique) sequence number of a tournament game into
3099 the saved PGN file as a 'number' tag. Default: false.
3100
3101 -saveOutOfBookInfo true/false
3102 Include the information on how the engine(s) game out of its
3103 opening book in a special 'annotator' tag with the PGN file.
3104 Default: true.
3105
3106 -oldsave/-xoldsave or -oldSaveStyle true/false
3107 Sets the Old Save Style menu option. See Options Menu. De‐
3108 fault: false.
3109
3110 -gameListTags string
3111 The character string lists the PGN tags that should be printed
3112 in the Game List, and their order. The meaning of the codes is
3113 e=event, s=site, d=date, o=round, p=players, r=result, w=white
3114 Elo, b=black Elo, t=time control, v=variant, a=out-of-book info,
3115 c=result comment. Default: "eprd"
3116
3117 -ini or -settingsFile filename
3118 -saveSettingsFile filename
3119 @filename
3120 When XBoard encounters an option -settingsFile (or -ini for
3121 short), or @filename, it tries to read the mentioned file, and
3122 substitutes the contents of it (presumaby more command-line op‐
3123 tions) in place of the option. In the case of -ini or -set‐
3124 tingsFile, the name of a successfully read settings file is also
3125 remembered as the file to use for saving settings (automatically
3126 on exit, or on user command). An option of the form @filename
3127 does not affect saving. The option -saveSettingsFile does spec‐
3128 ify a name of the file to use for saving, without reading any
3129 options from it, and is thus also effective when the file did
3130 not exist yet. So the settings will be saved to the file speci‐
3131 fied in the last -saveSettingsFile or succesfull -settingsFile /
3132 -ini command, if any, and in /etc/xboard/xboard.conf otherwise.
3133 Usualy the latter is only accessible for the system administra‐
3134 tor, though, and will be used to contain system-wide default
3135 settings, amongst which a -saveSettingsFile and -settingsFile
3136 options to specify a settings file accessible to the individual
3137 user, such as ~/.xboardrc in the user's home directory.
3138
3139 -saveSettingsOnExit true/false
3140 Controls saving of options on the settings file. See Options
3141 Menu. Default: true.
3142
3143 User interface options
3144 -noGUI Suppresses all GUI functions of XBoard (to speed up automated
3145 ultra-fast engine-engine games, which you don't want to watch).
3146 There will be no board or clock updates, no printing of moves,
3147 and no update of the icon on the task bar in this mode.
3148
3149 -logoSize N
3150 This option controls the drawing of player logos next to the
3151 clocks. The integer N specifies the width of the logo in pix‐
3152 els; the logo height will always be half the width. When N = 0,
3153 no logos will be diplayed. Default: 0.
3154
3155 -firstLogo imagefile
3156 -secondLogo imagefile
3157 Specify the images to be used as player logos when `logoSize' is
3158 non-zero, next to the white and black clocks, respectively.
3159
3160 -autoLogo true/false
3161 -logoDir filename
3162 When `autoLogo' is set, XBoard will search for a PNG image file
3163 with the name of the engine or ICS in the directory specified by
3164 `logoDir'. For a human player it will look for a file <user‐
3165 name>.png in this directory, but only when ~/.logo.png does not
3166 provide one.
3167
3168 -recentEngines number
3169 -recentEngineList list
3170 When the number is larger than zero, it determines how many re‐
3171 cently used engines will be appended at the bottom of the `En‐
3172 gines' menu. The engines will be saved in your settings file as
3173 the option `recentEngineList', by their nicknames, and the most
3174 recently used one will always be sorted to the top. If the list
3175 after that is longer than the specified number, the last one is
3176 discarded. Changes in the list will only become visible the
3177 next session, provided you saved the settings. Default: 6.
3178
3179 -oneClickMove true/false
3180 When set, this option allows you to enter moves by only clicking
3181 the to- or from-square, when only a single legal move to or from
3182 that square is possible. Double-clicking a piece (or clicking
3183 an already selected piece) will instruct that piece to make the
3184 only capture it can legally do. Default: false.
3185
3186 -monoMouse true/false
3187 When set button 1 clicks on empty squares in Edit Position mode
3188 will be interpreted as button 3 clicks, so they place a piece.
3189 Default: false.
3190
3191 -movesound/-xmovesound or -ringBellAfterMoves true/false
3192 Sets the Move Sound menu option. See Options Menu. Default:
3193 false. For compatibility with old XBoard versions, -bell/-xbell
3194 are also accepted as abbreviations for this option.
3195
3196 -analysisBell N
3197 When N is non-zero, the Move Sound will be played whenever a new
3198 PV arrives in analysis mode after more than N seconds of analy‐
3199 sis. Default: 0.
3200
3201 -exit/-xexit or -popupExitMessage true/false
3202 Sets the Popup Exit Message menu option. See Options Menu. De‐
3203 fault: true.
3204
3205 -popup/-xpopup or -popupMoveErrors true/false
3206 Sets the Popup Move Errors menu option. See Options Menu. De‐
3207 fault: false.
3208
3209 -queen/-xqueen or -alwaysPromoteToQueen true/false
3210 Sets the Always Queen menu option. See Options Menu. Default:
3211 false.
3212
3213 -sweepPromotions true/false
3214 Sets the `Almost Always Promote to Queen' menu option. See Op‐
3215 tions Menu. Default: false.
3216
3217 -legal/-xlegal or -testLegality true/false
3218 Sets the Test Legality menu option. See Options Menu. Default:
3219 true.
3220
3221 -size or -boardSize (sizeName | n1,n2,n3,n4,n5,n6,n7)
3222 Determines how large the board will be, by selecting the pixel
3223 size of the pieces and setting a few related parameters. The
3224 sizeName can be one of: Titanic, giving 129x129 pixel pieces,
3225 Colossal 116x116, Giant 108x108, Huge 95x95, Big 87x87, Large
3226 80x80, Bulky 72x72, Medium 64x64, Moderate 58x58, Average 54x54,
3227 Middling 49x49, Mediocre 45x45, Small 40x40, Slim 37x37, Petite
3228 33x33, Dinky 29x29, Teeny 25x25, or Tiny 21x21. Xboard installs
3229 with a set of scalable (svg) piece images, which it scales to
3230 any of the requested sizes. The square size can further be con‐
3231 tinuously scaled by sizing the board window, but this only
3232 adapts the size of the pieces, and has no effect on the width of
3233 the grid lines or the font choice (both of which would depend on
3234 he selected boardSize). The default depends on the size of your
3235 screen; it is approximately the largest size that will fit with‐
3236 out clipping.
3237
3238 You can select other sizes or vary other layout parameters by
3239 providing a list of comma-separated values (with no spaces) as
3240 the argument. You do not need to provide all the values; for
3241 any you omit from the end of the list, defaults are taken from
3242 the nearest built-in size. The value `n1' gives the piece size,
3243 `n2' the width of the black border between squares, `n3' the de‐
3244 sired size for the clockFont, `n4' the desired size for the co‐
3245 ordFont, `n5' the desired size for the messageFont, `n6' the
3246 smallLayout flag (0 or 1), and `n7' the tinyLayout flag (0 or
3247 1). All dimensions are in pixels. If the border between
3248 squares is eliminated (0 width), the various highlight options
3249 will not work, as there is nowhere to draw the highlight. If
3250 smallLayout is 1 and `titleInWindow' is true, the window layout
3251 is rearranged to make more room for the title. If tinyLayout is
3252 1, the labels on the menu bar are abbreviated to one character
3253 each and the buttons in the button bar are made narrower.
3254
3255 -overrideLineGap n
3256 When n >= 0, this forces the width of the black border between
3257 squares to n pixels for any board size. Mostly used to suppress
3258 the grid entirely by setting n = 0, e.g. in xiangqi or just get‐
3259 ting a prettier picture. When n < 0 this the size-dependent
3260 width of the grid lines is used. Default: -1.
3261
3262 -coords/-xcoords or -showCoords true/false
3263 Sets the Show Coords menu option. See Options Menu. Default:
3264 false. The `coordFont' option specifies what font to use.
3265
3266 -autoraise/-xautoraise or -autoRaiseBoard true/false
3267 Sets the Auto Raise Board menu option. See Options Menu. De‐
3268 fault: true.
3269
3270 -autoflip/-xautoflip or -autoFlipView true/false
3271 Sets the Auto Flip View menu option. See Options Menu. De‐
3272 fault: true.
3273
3274 -flip/-xflip or -flipView true/false
3275 If Auto Flip View is not set, or if you are observing but not
3276 participating in a game, then the positioning of the board at
3277 the start of each game depends on the flipView option. If
3278 flipView is false (the default), the board is positioned so that
3279 the white pawns move from the bottom to the top; if true, the
3280 black pawns move from the bottom to the top. In any case, the
3281 Flip menu option (see Options Menu) can be used to flip the
3282 board after the game starts.
3283
3284 -title/-xtitle or -titleInWindow true/false
3285 If this option is true, XBoard displays player names (for ICS
3286 games) and game file names (for `Load Game') inside its main
3287 window. If the option is false (the default), this information
3288 is displayed only in the window banner. You probably won't want
3289 to set this option unless the information is not showing up in
3290 the banner, as happens with a few X window managers.
3291
3292 -buttons/-xbuttons or -showButtonBar True/False
3293 If this option is False, xboard omits the [<<] [<] [P] [>] [>>]
3294 button bar from the window, allowing the message line to be
3295 wider. You can still get the functions of these buttons using
3296 the menus or their keyboard shortcuts. Default: true.
3297
3298 -evalZoom factor
3299 The score interval (-1,1) is blown up on the vertical axis of
3300 the Evaluation Graph by the given factor. Default: 1
3301
3302 -evalThreshold n
3303 Score below n (centiPawn) are plotted as 0 in the Evaluation
3304 Graph. Default: 25
3305
3306 -mono/-xmono or -monoMode true/false
3307 Determines whether XBoard displays its pieces and squares with
3308 two colors (true) or four (false). You shouldn't have to specify
3309 `monoMode'; XBoard will determine if it is necessary.
3310
3311 -showTargetSquares true/false
3312 Determines whether XBoard can highlight the squares a piece has
3313 legal moves to, when you grab that piece with the mouse. De‐
3314 fault: false.
3315
3316 -flashCount count
3317 -flashRate rate
3318 -flash/-xflash
3319 These options enable flashing of pieces when they land on their
3320 destination square. `flashCount' tells XBoard how many times to
3321 flash a piece after it lands on its destination square.
3322 `flashRate' controls the rate of flashing (flashes/sec). Abbre‐
3323 viations: `flash' sets flashCount to 3. `xflash' sets flash‐
3324 Count to 0. Defaults: flashCount=0 (no flashing), flashRate=5.
3325
3326 -highlight/-xhighlight or -highlightLastMove true/false
3327 Sets the Highlight Last Move menu option. See Options Menu. De‐
3328 fault: false.
3329
3330 -highlightMoveWithArrow true/false
3331 Sets the Highlight with Arrow menu option. See Options Menu. De‐
3332 fault: false.
3333
3334 -blind/-xblind or -blindfold true/false
3335 Sets the Blindfold menu option. See Options Menu. Default:
3336 false.
3337
3338 -periodic/-xperiodic or -periodicUpdates true/false
3339 Controls updating of current move andnode counts in analysis
3340 mode. Default: true.
3341
3342 -fSAN
3343 -sSAN Causes the PV in thinking output of the mentioned engine to be
3344 converted to SAN before it is further processed. Warning: this
3345 might lose engine output not understood by the parser, and uses
3346 a lot of CPU power. Default: the PV is displayed exactly as the
3347 engine produced it.
3348
3349 -showEvalInMoveHistory true/false
3350 Controls whether the evaluation scores and search depth of en‐
3351 gine moves are displayed with the move in the move-history win‐
3352 dow. Default: true.
3353
3354 -clockFont font
3355 The font used for the clocks. If the option value is a pattern
3356 that does not specify the font size, XBoard tries to choose an
3357 appropriate font for the board size being used. Default Xaw:
3358 -*-helvetica-bold-r-normal--*-*-*-*-*-*-*-*. Default GTK: Sans
3359 Bold %d.
3360
3361 -coordFont font
3362 The font used for rank and file coordinate labels if `showCo‐
3363 ords' is true. If the option value is a pattern that does not
3364 specify the font size, XBoard tries to choose an appropriate
3365 font for the board size being used. Default Xaw: -*-helvetica-
3366 bold-r-normal--*-*-*-*-*-*-*-*. Default GTK: Sans Bold %d.
3367
3368 -messageFont font
3369 The font used for popup dialogs, menus, etc. If the option
3370 value is a pattern that does not specify the font size, XBoard
3371 tries to choose an appropriate font for the board size being
3372 used. Default Xaw: -*-helvetica-medium-r-nor‐
3373 mal--*-*-*-*-*-*-*-*. Default GTK: Sans Bold %d
3374
3375 -tagsFont font
3376 The font used in the Edit Tags dialog. If the option value con‐
3377 tains %d, XBoard will replace it by an appropriate font for the
3378 board size being used. (Only used in GTK build.) Default: Sans
3379 Normal %d.
3380
3381 -commentFont font
3382 The font used in the Edit Comment dialog. If the option value
3383 contains %d, XBoard will replace it by an appropriate font for
3384 the board size being used. (Only used in GTK build.) Default:
3385 Sans Normal %d.
3386
3387 -icsFont font
3388 The font used to display ICS output in the ICS Chat window. As
3389 ICS output often contains tables aligned by spaces, a mono-space
3390 font is recommended here. If the option value contains %d,
3391 XBoard will replace it by an appropriate font for the board size
3392 being used. (Only used in GTK build.) Default: Monospace Nor‐
3393 mal %d.
3394
3395 -moveHistoryFont font
3396 The font used in Move History and Engine Output windows. As
3397 these windows display mainly moves, one could use a figurine
3398 font here. If the option value contains %d, XBoard will replace
3399 it by an appropriate font for the board size being used. (Only
3400 used in GTK build.) Default: Sans Normal %d.
3401
3402 -gameListFont font
3403 The font used in the listbox of the Game List window. If the
3404 option value contains %d, XBoard will replace it by an appropri‐
3405 ate font for the board size being used. (Only used in GTK
3406 build.) Default: Sans Bold %d.
3407
3408 -fontSizeTolerance tol
3409 In the font selection algorithm, a nonscalable font will be pre‐
3410 ferred over a scalable font if the nonscalable font's size dif‐
3411 fers by `tol' pixels or less from the desired size. A value of
3412 -1 will force a scalable font to always be used if available; a
3413 value of 0 will use a nonscalable font only if it is exactly the
3414 right size; a large value (say 1000) will force a nonscalable
3415 font to always be used if available. Default: 4.
3416
3417 -pid or -pieceImageDirectory dir
3418 This options control what piece images xboard uses. XBoard will
3419 look in the specified directory for an image in png or svg for‐
3420 mat for every piece type, with names like BlackQueen.svg,
3421 WhiteKnight.svg etc. When neither of these is found (or no
3422 valid directory is specified) XBoard will first ty to use an im‐
3423 age White/BlackTile.svg in that same directory, and if that is
3424 not present either use the svg piece that was installed with it
3425 (from the source-tree directory `svg'). Both svg and png images
3426 will be scaled by XBoard to the required size, but the png
3427 pieces lose much in quality when scaled too much. Default: "".
3428
3429 -inscriptions utf8string
3430 The positions in the utf8string correspond to XBoard's piece
3431 types, and for each type a glyph can be defined. This glyph
3432 will then be rendered on top of the image for the piece. This
3433 is useful in combination with the White/BlackTile.svg images,
3434 which could be the image of a blank Shogi tile, for writing the
3435 kanji piece name on top of it on the fly. Default: "".
3436
3437
3438 -whitePieceColor color
3439 -blackPieceColor color
3440 -lightSquareColor color
3441 -darkSquareColor color
3442 -highlightSquareColor color
3443 -preoveHighlightColor color
3444 -lowTimeWarningColor color
3445 Colors to use for the pieces, squares, and square highlights.
3446 Defaults:
3447
3448 -whitePieceColor #FFFFCC
3449 -blackPieceColor #202020
3450 -lightSquareColor #C8C365
3451 -darkSquareColor #77A26D
3452 -highlightSquareColor #FFFF00
3453 -premoveHighlightColor #FF0000
3454 -lowTimeWarningColor #FF0000
3455
3456 On a grayscale monitor you might prefer:
3457
3458 -whitePieceColor gray100
3459 -blackPieceColor gray0
3460 -lightSquareColor gray80
3461 -darkSquareColor gray60
3462 -highlightSquareColor gray100
3463 -premoveHighlightColor gray70
3464 -lowTimeWarningColor gray70
3465
3466 The PieceColor options only work properly if the image files
3467 defining the pieces were pure black & white (possibly anti-
3468 aliased to produce gray scales and semi-transparancy), like the
3469 pieces images that come with the install. Their effect on col‐
3470 ored pieces is undefined. The SquareColor option only have an
3471 effect when no board textures are used.
3472
3473 -trueColors true/false
3474 When set, this option suppresses the effect of the PieceColor
3475 options mentioned above. This is recommended for images that
3476 are already colored.
3477
3478 -useBoardTexture true/false
3479 -liteBackTextureFile filename
3480 -darkBackTextureFile filename
3481 Indicate the png image files to be used for drawing the board
3482 squares, and if they should be used rather than using simple
3483 colors. The algorithm for cutting squares out of a given bitmap
3484 is such that the picture is perfectly reproduced when a bitmap
3485 the size of the complete board is given. If the filename ends
3486 in "-NxM.png", with integer N and M, it is assumed to contain a
3487 bitmap of a complete board of N files and M ranks, and XBoard
3488 will scale it to exactly match the current square size. If
3489 N=M=0 it scales the entire bitmap to the size of the board, ir‐
3490 respective of the number of files and ranks of the latter.
3491 Without any -NxM suffix textures are only blown up by an integer
3492 factor when they are smaller than the square size, or, when the
3493 name starts with "xq", too small to cover the complete Xiangqi
3494 board. Default: false and ""
3495
3496 -drag/-xdrag or -animateDragging true/false
3497 Sets the Animate Dragging menu option. See Options Menu. De‐
3498 fault: true.
3499
3500 -animate/-xanimate or -animateMoving true/false
3501 Sets the Animate Moving menu option. See Options Menu. Default:
3502 true.
3503
3504 -animateSpeed n
3505 Number of milliseconds delay between each animation frame when
3506 Animate Moves is on.
3507
3508 -autoDisplayComment true/false
3509 -autoDisplayTags true/false
3510 If set to true, these options cause the window with the move
3511 comments, and the window with PGN tags, respectively, to pop up
3512 automatically when such tags or comments are encountered during
3513 the replaying a stored or loaded game. Default: true.
3514
3515 -pasteSelection true/false
3516 If this option is set to true, the Paste Position and Paste Game
3517 options paste from the currently selected text. If false, they
3518 paste from the clipboard. Default: false.
3519
3520 -autoCopyPV true|false
3521 When this option is set, the position displayed on the board
3522 when you terminate a PV walk (initiated by a right-click on
3523 board or engine-output window) will be automatically put on the
3524 clipboard as FEN. Default: false.
3525
3526 -dropMenu true|false
3527 This option allows you to emulate old behavior, where the right
3528 mouse button brings up the (now deprecated) drop menu rather
3529 than displaying the position at the end of the principal varia‐
3530 tion. Default: False.
3531
3532 -pieceMenu true|false
3533 This option allows you to emulate old behavior, where the right
3534 mouse button brings up the (now deprecated) piece menu in Edit
3535 Position mode. From this menu you can select the piece to put
3536 on the square you clicked to bring up the menu, or select items
3537 such as `clear board'. You can also `promote' or `demote' a
3538 clicked piece to convert it into an unorthodox piece that is not
3539 directly in the menu, or give the move to `black' or `white'.
3540
3541 -variations true|false
3542 When this option is on, you can start new variations in Edit
3543 Game or Analyze mode by holding the Shift key down while enter‐
3544 ing a move. When it is off, the Shift key will be ignored. De‐
3545 fault: False.
3546
3547 -appendPV true|false
3548 When this option is on, a button 3 click left of a PV in the En‐
3549 gine Output window will play the first move of that PV in Ana‐
3550 lyze mode, or as many moves as you walk through it by moving the
3551 mouse. Default: False.
3552
3553 -absoluteAnalysisScores true|false
3554 When true, scores on the Engine Output window during analysis
3555 will be printed from the white point-of-view, rather than the
3556 side-to-move point-of-view. Default: False.
3557
3558 -scoreWhite true|false
3559 When true, scores will always be printed from the white point-
3560 of-view, rather than the side-to-move point-of-view. Default:
3561 False.
3562
3563 -memoHeaders true|false
3564 When true, column headers will be displayed in the Engine Output
3565 window for the depth, score, time and nodes data. A button 3
3566 click on these headers will hide or show the corresponding data.
3567 (Not intended for dynamic use, as already printed data of the
3568 current search will not be affected!) Defaul: False.
3569
3570 Adjudication Options
3571 -adjudicateLossThreshold n
3572 If the given value is non-zero, XBoard adjudicates the game as a
3573 loss if both engines agree for a duration of 6 consecutive ply
3574 that the score is below the given score threshold for that en‐
3575 gine. Make sure the score is interpreted properly by XBoard, us‐
3576 ing `-firstScoreAbs' and `-secondScoreAbs' if needed. Default:
3577 0 (no adjudication)
3578
3579 -adjudicateDrawMoves n
3580 If the given value is non-zero, XBoard adjudicates the game as a
3581 draw if after the given number of moves it was not yet decided.
3582 Default: 0 (no adjudication)
3583
3584 -checkMates true/false
3585 If this option is set, XBoard detects all checkmates and stale‐
3586 mates, and ends the game as soon as they occur. Legality-test‐
3587 ing must be switched on for this option to work. Default: true
3588
3589 -testClaims true/false
3590 If this option is set, XBoard verifies all result claims made by
3591 engines, and those who send false claims will forfeit the game
3592 because of it. Legality-testing must be switched on for this
3593 option to work. Default: true
3594
3595 -materialDraws true/false
3596 If this option is set, XBoard adjudicates games as draws when
3597 there is no sufficient material left to inflict a checkmate.
3598 This applies to KBKB with like bishops (any number, actually),
3599 and to KBK, KNK and KK. Legality-testing must be switched on
3600 for this option to work. Default: true
3601
3602 -trivialDraws true/false
3603 If this option is set, XBoard adjudicates games as draws that
3604 cannot be usually won without opponent cooperation. This applies
3605 to KBKB with unlike bishops, and to KBKN, KNKN, KNNK, KRKR and
3606 KQKQ. The draw is called after 6 ply into these end-games, to
3607 allow quick mates that can occur in some exceptional positions
3608 to be found by the engines. KQKQ does not really belong in this
3609 category, and might be taken out in the future. (When bitbase-
3610 based adjudications are implemented.) Legality-testing must be
3611 on for this option to work. Default: false
3612
3613 -ruleMoves n
3614 If the given value is non-zero, XBoard adjudicates the game as a
3615 draw after the given number of consecutive reversible moves. En‐
3616 gine draw claims are always accepted after 50 moves, irrespec‐
3617 tive of the given value of n.
3618
3619 -repeatsToDraw n
3620 If the given value is non-zero, xboard adjudicates the game as a
3621 draw if a position is repeated the given number of times. En‐
3622 gines draw claims are always accepted after 3 repeats, (on the
3623 3rd occurrence, actually), irrespective of the value of n. Be‐
3624 ware that positions that have different castling or en-passant
3625 rights do not count as repeats, XBoard is fully e.p. and
3626 castling aware!
3627
3628 Install options
3629 --show-config parameter
3630 When called with this option, XBoard will close immediately af‐
3631 ter printing the value of the indicated configuration parameter,
3632 or, when no parameter was given, after printing a list of all
3633 such parameters. Currently the only valid values for parameter
3634 are Datadir and Sysconfdir. This option can be used by install
3635 scripts for board themes to figure out where the currently ac‐
3636 tive XBoard stores its data.
3637
3638 -date timestamp
3639 -saveDate timestamp
3640 These options specify an epoch as an integer number. The `save‐
3641 Date' option is written by XBoard in the settings file every
3642 time the settings are saved, with the current time, so that
3643 later runs of XBoard can know this. The `date' option can be
3644 included in settings files to indicate when lines following it
3645 were added to those files. Some options will be ignored if the
3646 epoch specified by the latest `date' option predates the -save‐
3647 Date setting (implying they must have been seen before).
3648
3649 -autoInstall list
3650 When the list is set to a non-empty string, XBoard will scan the
3651 operating system's plugin directory for engines supporting UCI
3652 and XBoard protocol at startup. When it finds an engine that
3653 was installed after it last saved its settings, a line to launch
3654 that engine (as per specs in the plugin file) is appended to the
3655 -firstChessProgramNames list of installed engines. In the fu‐
3656 ture it will be possible to use the autoInstall list to limit
3657 this automatic adding of engines based on the chess variant they
3658 play.
3659
3660 -addMasterOption string
3661 Adds the mentioned string as an additional line of XBoard's mas‐
3662 ter settings file, after adding a line with a `date' option to
3663 timestamp it. Intended to add options of the 'install' type
3664 (see below) to the master file, which will then be processed by
3665 any XBoard that has not seen them since it last saved its set‐
3666 tings.
3667
3668 -autoClose
3669 The presence of this option cause XBoard to close immediately
3670 after processing all its options (from settings file and command
3671 line). Typically used from install scripts together with op‐
3672 tions that change XBoard's settings files, so that XBoard can be
3673 run in batch mode rather than interactively.
3674
3675 -installEngine string
3676 Adds the given string as an additional line to the value of the
3677 `firstChessProgramNames' option when the -saveDate setting pre‐
3678 ceeds the -date setting. Intended for adding to the master set‐
3679 tings file with the aid of -addMasterOption in the install
3680 script of engines, as a method for broadcasting the presence of
3681 a new engine to all users, which would then see it automatically
3682 registered with XBoard. Made obsolete by the advent of the
3683 plugin standard (see the `autoInstall' option), which broadcasts
3684 such presence in a non-XBoard-specific way by dropping *.eng
3685 files in a certain system directory.
3686
3687 -installTheme string
3688 Adds the given string as an additional line to the value of the
3689 -themeNames option when the -saveDate setting preceeds the -date
3690 setting. Intended for adding to the master settings file with
3691 the aid of -addMasterOption in the install script of board
3692 graphics themes, as a method for broadcasting the availability
3693 of a new theme to all users, who would then see the theme appear
3694 automatically in the listbox in the View Board menu dialog next
3695 time they run XBoard.
3696
3697 Other options
3698 -ncp/-xncp or -noChessProgram true/false
3699 If this option is true, XBoard acts as a passive chessboard; it
3700 does not start a chess engine at all. Turning on this option
3701 also turns off clockMode. Default: false.
3702
3703 -viewer
3704 -viewerOptions string
3705 Presence of the volatile option `viewer' on the command line
3706 will cause the value of the persistent option `viewerOptions' as
3707 stored in the settings file to be appended to the command line.
3708 The `view' option will be used by desktop associations with game
3709 or position file types, so that `viewerOptions' can be used to
3710 configure the exact mode XBoard will start in when it should act
3711 on such a file (e.g. in -ncp mode, or analyzing with your fa‐
3712 vorite engine). The options are also automatically appended when
3713 Board is invoked with a single argument not being an option
3714 name, which is then assumed to be the name of a `loadGameFile'
3715 or (when the name ends in .fen) a `loadPositionFile'. Default:
3716 "-ncp -engineOutputUp false -saveSettingsOnExit false".
3717
3718 -tourneyOptions string
3719 When XBoard is invoked with a single argument that is a file
3720 with .trn extension, it will assume this argument to be the
3721 value of a `tourneyFile' option, and append the value of the
3722 persistent option `tourneyOptions' as stored in the settings
3723 file to the command line. Thus the value of `tourneyOptions'
3724 can be used to configure XBoard to automatically start running a
3725 tournament when it should act on such a file. Default: "-ncp
3726 -mm -saveSettingsOnExit false".
3727
3728 -mode or -initialMode modename
3729 If this option is given, XBoard selects the given modename from
3730 the Mode menu after starting and (if applicable) processing the
3731 loadGameFile or loadPositionFile option. Default: "" (no selec‐
3732 tion). Other supported values are MachineWhite, MachineBlack,
3733 TwoMachines, Analysis, AnalyzeFile, EditGame, EditPosition, and
3734 Training.
3735
3736 -variant varname
3737 Activates (sometimes partial) support for playing chess vari‐
3738 ants against a local engine or editing variant games. This flag
3739 is not needed in ICS mode. Recognized variant names are:
3740
3741 normal Normal chess
3742 wildcastle Shuffle chess, king can castle from d file
3743 nocastle Shuffle chess, no castling allowed
3744 fischerandom Fischer Random shuffle chess
3745 bughouse Bughouse, ICC/FICS rules
3746 crazyhouse Crazyhouse, ICC/FICS rules
3747 losers Lose all pieces or get mated (ICC wild 17)
3748 suicide Lose all pieces including king (FICS)
3749 giveaway Try to have no legal moves (ICC wild 26)
3750 twokings Weird ICC wild 9
3751 kriegspiel Opponent's pieces are invisible
3752 atomic Capturing piece explodes (ICC wild 27)
3753 3check Win by giving check 3 times (ICC wild 25)
3754 shatranj An ancient precursor of chess (ICC wild 28)
3755 xiangqi Chinese Chess (on a 9x10 board)
3756 shogi Japanese Chess (on a 9x9 board & piece drops)
3757 capablanca Capablanca Chess (10x8 board, with Archbishop
3758 and Chancellor pieces)
3759 gothic similar, with a better initial position
3760 caparandom An FRC-like version of Capablanca Chess (10x8)
3761 janus A game with two Archbishops (10x8 board)
3762 courier Medieval intermediate between shatranj and
3763 modern Chess (on 12x8 board)
3764 falcon Patented 10x8 variant with two Falcon pieces
3765 berolina Pawns capture straight ahead, and move diagonally
3766 cylinder Pieces wrap around the board edge
3767 knightmate King moves as Knight, and vice versa
3768 super Superchess (shuffle variant with 4 exo-pieces)
3769 makruk Thai Chess (shatranj-like, P promotes on 6th rank)
3770 asean ASEAN Chess (a modernized version of Makruk)
3771 spartan Spartan Chess (black has unorthodox pieces)
3772 great Great Shatranj, a 10x8 variant without sliders
3773 grand Grand Chess, on 10x10 with Capablanca pieces
3774 lion Mighty-Lion Chess, with a multi-capturing Lion
3775 elven Eleven Chess, with Lion and crowned sliders on 10x10
3776 chu Chu Shogi, historic 12x12 variant with 2x46 pieces
3777 fairy A catchall variant in which all piece types
3778 known to XBoard can participate (8x8)
3779 unknown Catchall for other unknown variants
3780
3781 In the shuffle variants, XBoard does shuffle the pieces, al‐
3782 though you can still do it by hand using Edit Position. Some
3783 variants are supported only in ICS mode, including bughouse, and
3784 kriegspiel. Berolina and cylinder chess are only partially sup‐
3785 ported, and can only be played with legality testing off.
3786
3787 Apart from these standard variants, engines can define variants
3788 of arbitrary names, briefing XBoard transparently on the rules
3789 for piece movement, board size and initial setup, so that they
3790 work nearly as well as fully-supported standard variants. (But
3791 obviously only while using that engine.) The user might have to
3792 alter the adjudication settings for some variants, however. E.g.
3793 it makes no sense to adjudicate a draw after 50 reversible moves
3794 in variants that have a 64-move rule, or no similar rule at all.
3795
3796 Default: "normal". Except when the first engine gave an explicit
3797 list of variants it supports, and 'normal' is not amongst those.
3798 In that case the first variant the engine mentioned it did play
3799 will be chosen.
3800
3801 -boardHeight N
3802 Allows you to set a non-standard number of board ranks in any
3803 variant. If the height is given as -1, the default height for
3804 the variant is used. Default: -1
3805
3806 -boardWidth N
3807 Allows you to set a non-standard number of board files in any
3808 variant. If the width is given as -1, the default width for the
3809 variant is used. With a non-standard width, the initial posi‐
3810 tion will always be an empty board, as the usual opening array
3811 will not fit. Default: -1
3812
3813 -holdingsSize N
3814 Allows you to set a non-standard size for the holdings in any
3815 variant. If the size is given as -1, the default holdings size
3816 for the variant is used. The first N piece types will go into
3817 the holdings on capture, and you will be able to drop them on
3818 the board in stead of making a normal move. If size equals 0,
3819 there will be no holdings. Default: -1
3820
3821 -defaultFrcPosition N
3822 Specifies the number of the opening position in shuffle games
3823 like Chess960. A value of -1 means the position is randomly
3824 generated by XBoard at the beginning of every game. Default: -1
3825
3826 -pieceToCharTable string
3827 The characters that are used to represent the piece types XBoard
3828 knows in FEN diagrams and SAN moves. You should not have to use
3829 this option often: each variant has its own default setting for
3830 the piece representation in FEN, which should be sufficient in
3831 normal use. The string argument has to specify an even number
3832 of pieces (or it will be ignored), as white and black pieces
3833 have to be given separately (in that order). The last letter for
3834 each color will be the King. The letters before that will be
3835 PNBRQ and then a whole host of fairy pieces in an order that has
3836 not fully crystallized yet (currently FEACWMOHIJGDVLSU, F=Ferz,
3837 Elephant, A=Archbishop, C=Chancellor, W=Wazir, M=Commoner,
3838 O=Cannon, H=Nightrider). You should list at least all pieces
3839 that occur in the variant you are playing. If you have fewer
3840 characters in the string than XBoard has pieces, the pieces not
3841 mentioned will get assigned a period, and will not be usable in
3842 the variant. You can also explicitly assign pieces a period, in
3843 which case they will not be counted in deciding which captured
3844 pieces can go into the holdings. A tilde '~' as a piece name
3845 does mean this piece is used to represent a promoted Pawn in
3846 crazyhouse-like games, i.e. on capture it turns back to a Pawn.
3847 A '+' similarly indicates the piece is a shogi-style promoted
3848 piece, that should revert to its non-promoted version on capture
3849 (rather than to a Pawn). By default the second 11 pieces known
3850 to XBoard are the promoted forms of the first 11. A piece spec‐
3851 ified by the character combination ^ plus letter will be assumed
3852 to be the promoted form of the piece indicated by that letter,
3853 and get a '+' assigned. To get around the limitation of the al‐
3854 phabet, piece IDs can also be 'dressed letters', i.e. a single
3855 letter (upper case for white, lower case for black) followed by
3856 a single quote or an exclamation point. Default: "" (meaning
3857 the default for the variant is used).
3858
3859 -pieceNickNames string
3860 The characters in the string are interpreted the same way as in
3861 the `pieceToCharTable' option. But on input, piece-ID letters
3862 are first looked up in the nicknames, and only if not defined
3863 there, in the normal pieceToCharTable. This allows you to have
3864 two letters designate the same piece, (e.g. N as an alternative
3865 to H for Horse in Xiangqi), to make reading of non-compliant no‐
3866 tations easier. Default: ""
3867
3868 -colorNickNames string
3869 The side-to-move field in a FEN will be first matched against
3870 the letters in the string (first character for white, second for
3871 black), before it is matched to the regular 'w' and 'b'. This
3872 makes it easier to read non-compliant FENs, which, say, use 'r'
3873 for white. Default: ""
3874
3875 -debug/-xdebug or -debugMode true/false
3876 Turns on debugging printout.
3877
3878 -debugFile filename or -nameOfDebugFile filename
3879 Sets the name of the file to which XBoard saves debug informa‐
3880 tion (including all communication to and from the engines). A
3881 `%d' in the given file name (e.g. game%d.debug) will be replaced
3882 by the unique sequence number of a tournament game, so that the
3883 debug output of each game will be written on a separate file.
3884
3885 -engineDebugOutput number
3886 Specifies how XBoard should handle unsolicited output from the
3887 engine, with respect to saving it in the debug file. The output
3888 is further (hopefully) ignored. If number=0, XBoard refrains
3889 from writing such spurious output to the debug file. If num‐
3890 ber=1, all engine output is written faithfully to the debug
3891 file. If number=2, any protocol-violating line is prefixed with
3892 a '#' character, as the engine itself should have done if it
3893 wanted to submit info for inclusion in the debug file. This op‐
3894 tion is provided for the benefit of applications that use the
3895 debug file as a source of information, such as the broadcaster
3896 of live games TLCV / TLCS. Such applications can be protected
3897 from spurious engine output that might otherwise confuse them.
3898
3899 -rsh or -remoteShell shell-name
3900 Name of the command used to run programs remotely. The default
3901 is `rsh' or `remsh', determined when XBoard is configured and
3902 compiled.
3903
3904 -ruser or -remoteUser user-name
3905 User name on the remote system when running programs with the
3906 `remoteShell'. The default is your local user name.
3907
3908 -userName username
3909 Name under which the Human player will be listed in the PGN
3910 file. Default is the login name on your local computer.
3911
3912 -delayBeforeQuit number
3913 -delayAfterQuit number
3914 These options order pauses before and after sending the "quit"
3915 command to an engine that must be terminated. The pause between
3916 quit and the previous command is specified in milliseconds. The
3917 pause after quit is used to schedule a kill signal to be sent to
3918 the engine process after the number of specified seconds plus
3919 one. This signal is a different one as the terminiation signal
3920 described in the protocol specs which engines can suppress or
3921 ignore, and which is sent directly after the "quit" command.
3922 Setting `delayAfterQuit' to -1 will suppress sending of the kill
3923 signal. Default: 0
3924
3925 -searchMode n
3926 The integer n encodes the mode for the `find position' function.
3927 Default: 1 (= Exact position match)
3928
3929 -eloThresholdBoth elo
3930 -eloThresholdAny elo
3931 Defines a lower limit for the Elo rating, which has to be sur‐
3932 passed before a game will be considered when searching for a
3933 board position. Default: 0
3934
3935 -dateThreshold year
3936 Only games not played before the given year will be considered
3937 when searching for a board position
3938
3939
3941 An "Internet Chess Server", or "ICS", is a place on the Internet where
3942 people can get together to play chess, watch other people's games, or
3943 just chat. You can use either `telnet' or a client program like XBoard
3944 to connect to the server. There are thousands of registered users on
3945 the different ICS hosts, and it is not unusual to meet 200 on both
3946 chessclub.com and freechess.org.
3947
3948 Most people can just type `xboard -ics' to start XBoard as an ICS
3949 client. Invoking XBoard in this way connects you to the Internet Chess
3950 Club (ICC), a commercial ICS. You can log in there as a guest even if
3951 you do not have a paid account. To connect to the largest Free ICS
3952 (FICS), use the command `xboard -ics -icshost freechess.org' instead,
3953 or substitute a different host name to connect to your favorite ICS.
3954 For a full description of command-line options that control the connec‐
3955 tion to ICS and change the default values of ICS options, see ICS op‐
3956 tions.
3957
3958 While you are running XBoard as an ICS client, you use the terminal
3959 window that you started XBoard from as a place to type in commands and
3960 read information that is not available on the chessboard.
3961
3962 The first time you need to use the terminal is to enter your login name
3963 and password, if you are a registered player. (You don't need to do
3964 this manually; the `icsLogon' option can do it for you. See ICS op‐
3965 tions.) If you are not registered, enter `g' as your name, and the
3966 server will pick a unique guest name for you.
3967
3968 Some useful ICS commands include
3969
3970 help <topic>
3971 to get help on the given <topic>. To get a list of possible top‐
3972 ics type "help" without topic. Try the help command before you
3973 ask other people on the server for help.
3974
3975 For example `help register' tells you how to become a registered
3976 ICS player.
3977
3978 who <flags>
3979 to see a list of people who are logged on. Administrators (peo‐
3980 ple you should talk to if you have a problem) are marked with
3981 the character `*', an asterisk. The <flags> allow you to display
3982 only selected players: For example, `who of' shows a list of
3983 players who are interested in playing but do not have an oppo‐
3984 nent.
3985
3986 games to see what games are being played
3987
3988 match <player> [<mins>] [<inc>]
3989 to challenge another player to a game. Both opponents get <mins>
3990 minutes for the game, and <inc> seconds will be added after each
3991 move. If another player challenges you, the server asks if you
3992 want to accept the challenge; use the `accept' or `decline' com‐
3993 mands to answer.
3994
3995 accept
3996 decline
3997 to accept or decline another player's offer. The offer may be
3998 to start a new game, or to agree to a `draw', `adjourn' or
3999 `abort' the current game. See Action Menu.
4000
4001 If you have more than one pending offer (for example, if more
4002 than one player is challenging you, or if your opponent offers
4003 both a draw and to adjourn the game), you have to supply addi‐
4004 tional information, by typing something like `accept <player>',
4005 `accept draw', or `draw'.
4006
4007 draw
4008 adjourn
4009 abort asks your opponent to terminate a game by mutual agreement. Ad‐
4010 journed games can be continued later. Your opponent can either
4011 `decline' your offer or accept it (by typing the same command or
4012 typing `accept'). In some cases these commands work immedi‐
4013 ately, without asking your opponent to agree. For example, you
4014 can abort the game unilaterally if your opponent is out of time,
4015 and you can claim a draw by repetition or the 50-move rule if
4016 available simply by typing `draw'.
4017
4018 finger <player>
4019 to get information about the given <player>. (Default: your‐
4020 self.)
4021
4022 vars to get a list of personal settings
4023
4024 set <var> <value>
4025 to modify these settings
4026
4027 observe <player>
4028 to observe an ongoing game of the given <player>.
4029
4030 examine
4031 oldmoves
4032 to review a recently completed game
4033
4034 Some special XBoard features are activated when you are in examine mode
4035 on ICS. See the descriptions of the menu commands `Forward', `Back‐
4036 ward', `Pause', `ICS Client', and `Stop Examining' on the Edit Menu,
4037 Mode Menu, and Action Menu.
4038
4039
4041 By default, XBoard communicates with an Internet Chess Server by open‐
4042 ing a TCP socket directly from the machine it is running on to the ICS.
4043 If there is a firewall between your machine and the ICS, this won't
4044 work. Here are some recipes for getting around common kinds of fire‐
4045 walls using special options to XBoard. Important: See the paragraph in
4046 the below about extra echoes, in Limitations.
4047
4048 Suppose that you can't telnet directly to ICS, but you can telnet to a
4049 firewall host, log in, and then telnet from there to ICS. Let's say
4050 the firewall is called `firewall.example.com'. Set command-line options
4051 as follows:
4052
4053 xboard -ics -icshost firewall.example.com -icsport 23
4054
4055 Then when you run XBoard in ICS mode, you will be prompted to log in to
4056 the firewall host. This works because port 23 is the standard telnet
4057 login service. Do so, then telnet to ICS, using a command like `telnet
4058 chessclub.com 5000', or whatever command the firewall provides for tel‐
4059 netting to port 5000.
4060
4061 If your firewall lets you telnet (or rlogin) to remote hosts but
4062 doesn't let you telnet to port 5000, you may be able to connect to the
4063 chess server on port 23 instead, which is the port the telnet program
4064 uses by default. Some chess servers support this (including chess‐
4065 club.com and freechess.org), while some do not.
4066
4067 If your chess server does not allow connections on port 23 and your
4068 firewall does not allow you to connect to other ports, you may be able
4069 to connect by hopping through another host outside the firewall that
4070 you have an account on. For instance, suppose you have a shell account
4071 at `foo.edu'. Follow the recipe above, but instead of typing `telnet
4072 chessclub.com 5000' to the firewall, type `telnet foo.edu' (or `rlogin
4073 foo.edu'), log in there, and then type `telnet chessclub.com 5000'.
4074
4075 Suppose that you can't telnet directly to ICS, but you can use rsh to
4076 run programs on a firewall host, and that host can telnet to ICS.
4077 Let's say the firewall is called `rsh.example.com'. Set command-line
4078 options as follows:
4079
4080 xboard -ics -gateway rsh.example.com -icshost chessclub.com
4081
4082 Then when you run XBoard in ICS mode, it will connect to the ICS by us‐
4083 ing `rsh' to run the command `telnet chessclub.com 5000' on host
4084 `rsh.example.com'.
4085
4086 Suppose that you can telnet anywhere you want, but you have to run a
4087 special program called `ptelnet' to do so.
4088
4089 First, we'll consider the easy case, in which `ptelnet chessclub.com
4090 5000' gets you to the chess server. In this case set command line op‐
4091 tions as follows:
4092
4093 xboard -ics -telnet -telnetProgram ptelnet
4094
4095 Then when you run XBoard in ICS mode, it will issue the command `ptel‐
4096 net chessclub.com 5000' to connect to the ICS.
4097
4098 Next, suppose that `ptelnet chessclub.com 5000' doesn't work; that is,
4099 your `ptelnet' program doesn't let you connect to alternative ports. As
4100 noted above, your chess server may allow you to connect on port 23 in‐
4101 stead. In that case, just add the option `-icsport ""' to the above
4102 command. But if your chess server doesn't let you connect on port 23,
4103 you will have to find some other host outside the firewall and hop
4104 through it. For instance, suppose you have a shell account at
4105 `foo.edu'. Set command line options as follows:
4106
4107 xboard -ics -telnet -telnetProgram ptelnet -icshost foo.edu -icsport ""
4108
4109 Then when you run XBoard in ICS mode, it will issue the command `ptel‐
4110 net foo.edu' to connect to your account at `foo.edu'. Log in there,
4111 then type `telnet chessclub.com 5000'.
4112
4113 ICC timestamp and FICS timeseal do not work through some firewalls.
4114 You can use them only if your firewall gives a clean TCP connection
4115 with a full 8-bit wide path. If your firewall allows you to get out
4116 only by running a special telnet program, you can't use timestamp or
4117 timeseal across it. But if you have access to a computer just outside
4118 your firewall, and you have much lower netlag when talking to that com‐
4119 puter than to the ICS, it might be worthwhile running timestamp there.
4120 Follow the instructions above for hopping through a host outside the
4121 firewall (foo.edu in the example), but run timestamp or timeseal on
4122 that host instead of telnet.
4123
4124 Suppose that you have a SOCKS firewall that will give you a clean 8-bit
4125 wide TCP connection to the chess server, but only after you authenti‐
4126 cate yourself via the SOCKS protocol. In that case, you could make a
4127 socksified version of XBoard and run that. If you are using timestamp
4128 or timeseal, you will to socksify it, not XBoard; this may be difficult
4129 seeing that ICC and FICS do not provide source code for these programs.
4130 Socksification is beyond the scope of this document, but see the SOCKS
4131 Web site at http://www.socks.permeo.com/. If you are missing SOCKS,
4132 try http://www.funbureau.com/.
4133
4134
4136 Game and position files are found in a directory named by the `CHESS‐
4137 DIR' environment variable. If this variable is not set, the current
4138 working directory is used. If `CHESSDIR' is set, XBoard actually
4139 changes its working directory to `$CHESSDIR', so any files written by
4140 the chess engine will be placed there too.
4141
4142
4144 There is no way for two people running copies of XBoard to play each
4145 other without going through an Internet Chess Server.
4146
4147 Under some circumstances, your ICS password may be echoed when you log
4148 on.
4149
4150 If you are connecting to the ICS by running telnet on an Internet
4151 provider or firewall host, you may find that each line you type is
4152 echoed back an extra time after you hit <Enter>. If your Internet
4153 provider is a Unix system, you can probably turn its echo off by typing
4154 `stty -echo' after you log in, and/or typing <^E><Enter> (Ctrl+E fol‐
4155 lowed by the Enter key) to the telnet program after you have logged
4156 into ICS. It is a good idea to do this if you can, because the extra
4157 echo can occasionally confuse XBoard's parsing routines.
4158
4159 The game parser recognizes only algebraic notation.
4160
4161 Many of the following points used to be limitations in XBoard 4.2.7 and
4162 earlier, but are now fixed: The internal move legality tester in XBoard
4163 4.3.xx does look at the game history, and is fully aware of castling or
4164 en-passant-capture rights. It permits castling with the king on the d
4165 file because this is possible in some "wild 1" games on ICS. The
4166 piece-drop menu does not check piece drops in bughouse to see if you
4167 actually hold the piece you are trying to drop. But this way of drop‐
4168 ping pieces should be considered an obsolete feature, now that pieces
4169 can be dropped by dragging them from the holdings to the board. Anyway,
4170 if you would attempt an illegal move when using a chess engine or the
4171 ICS, XBoard will accept the error message that comes back, undo the
4172 move, and let you try another. FEN positions saved by XBoard do in‐
4173 clude correct information about whether castling or en passant are le‐
4174 gal, and also handle the 50-move counter. The mate detector does not
4175 understand that non-contact mate is not really mate in bughouse. The
4176 only problem this causes while playing is minor: a "#" (mate indicator)
4177 character will show up after a non-contact mating move in the move
4178 list. XBoard will not assume the game is over at that point, not even
4179 when the option Detect Mates is on. Edit Game mode always uses the
4180 rules of the selected variant, which can be a variant that uses piece
4181 drops. You can load and edit games that contain piece drops. The (ob‐
4182 solete) piece menus are not active, but you can perform piece drops by
4183 dragging pieces from the holdings. Fischer Random castling is fully
4184 understood. You can enter castlings by dragging the King on top of
4185 your Rook. You can probably also play Fischer Random successfully on
4186 ICS by typing castling moves into the ICS Interaction window.
4187
4188 The menus may not work if your keyboard is in Caps Lock or Num Lock
4189 mode. This seems to be a problem with the Athena menu widget, not an
4190 XBoard bug.
4191
4192 Also see the ToDo file included with the distribution for many other
4193 possible bugs, limitations, and ideas for improvement that have been
4194 suggested.
4195
4197 You can report bugs and problems with XBoard using the bug tracker at
4198 `https://savannah.gnu.org/projects/xboard/' or by sending mail to
4199 `<bug-xboard@gnu.org>'. It can also be useful to report or discuss
4200 bugs in the WinBoard Forum at `http://www.open-aurec.com/wbforum/',
4201 WinBoard development section.
4202
4203 Please use the `script' program to start a typescript, run XBoard with
4204 the `-debug' option, and include the typescript output in your message.
4205 Also tell us what kind of machine and what operating system version you
4206 are using. The command `uname -a' will often tell you this.
4207
4208 If you improve XBoard, please send a message about your changes, and we
4209 will get in touch with you about merging them in to the main line of
4210 development.
4211
4212
4214 Chris Sears and Dan Sears wrote the original XBoard. They were respon‐
4215 sible for versions 1.0 through 1.2. The color scheme was taken from
4216 Wayne Christopher's `XChess' program.
4217
4218 Tim Mann was primarily responsible for XBoard versions 1.3 through
4219 4.2.7, and for WinBoard (a port of XBoard to Microsoft Win32) from its
4220 inception through version 4.2.7.
4221
4222 John Chanak contributed the initial implementation of ICS mode. Evan
4223 Welsh wrote `CMail', and Patrick Surry helped in designing, testing,
4224 and documenting it. Elmar Bartel contributed the new piece bitmaps in‐
4225 troduced in version 3.2. Jochen Wiedmann converted the documentation
4226 to texinfo. Frank McIngvale added click/click moving, the Analysis
4227 modes, piece flashing, ZIICS import, and ICS text colorization to
4228 XBoard. Hugh Fisher added animated piece movement to XBoard, and Hen‐
4229 rik Gram added it to WinBoard. Mark Williams contributed the initial
4230 (WinBoard-only) implementation of many new features added to both
4231 XBoard and WinBoard in version 4.1.0, including copy/paste, premove,
4232 icsAlarm, autoFlipView, training mode, auto raise, and blindfold. Ben
4233 Nye contributed X copy/paste code for XBoard.
4234
4235 In a fork from version 4.2.7, Alessandro Scotti added many elements to
4236 the user interface of WinBoard, including the board textures and font-
4237 based rendering, the evaluation-graph, move-history and engine-output
4238 window. He was also responsible for adding the UCI support.
4239
4240 H. G. Muller continued this fork of the project, producing version 4.3.
4241 He made WinBoard castling- and e.p.-aware, added variant support with
4242 adjustable board sizes, the crazyhouse holdings, and the fairy pieces.
4243 In addition he added most of the adjudication options, made WinBoard
4244 more robust in dealing with buggy and crashing engines, and extended
4245 time control with a time-odds and node-count-based modes. Most of the
4246 options that initially were WinBoard only have now been back-ported to
4247 XBoard.
4248
4249 Michel van den Bergh provided the code for reading Polyglot opening
4250 books.
4251
4252 Meanwhile, some work continued on the GNU XBoard project maintained at
4253 savannah.gnu.org, but version 4.2.8 was never released. Daniel
4254 Mehrmann was responsible for much of this work.
4255
4256 Most recently, Arun Persaud worked with H. G. Muller to merge all the
4257 features of the never-released XBoard/WinBoard 4.2.8 of the GNU XBoard
4258 project and the never-released 4.3.16 from H. G.'s fork into a unified
4259 XBoard/WinBoard 4.4, which is now available both from the savan‐
4260 nah.gnu.org web site and the WinBoard forum.
4261
4262
4264 The `cmail' program can help you play chess by email with opponents of
4265 your choice using XBoard as an interface.
4266
4267 You will usually run `cmail' without giving any options.
4268
4269
4270 CMail options
4271 -h Displays `cmail' usage information.
4272
4273 -c Shows the conditions of the GNU General Public License. See
4274 Copying.
4275
4276 -w Shows the warranty notice of the GNU General Public License.
4277 See Copying.
4278
4279 -v
4280 -xv Provides or inhibits verbose output from `cmail' and XBoard,
4281 useful for debugging. The `-xv' form also inhibits the cmail in‐
4282 troduction message.
4283
4284 -mail
4285 -xmail Invokes or inhibits the sending of a mail message containing the
4286 move.
4287
4288 -xboard
4289 -xxboard
4290 Invokes or inhibits the running of XBoard on the game file.
4291
4292 -reuse
4293 -xreuse
4294 Invokes or inhibits the reuse of an existing XBoard to display
4295 the current game.
4296
4297 -remail
4298 Resends the last mail message for that game. This inhibits run‐
4299 ning XBoard.
4300
4301 -game <name>
4302 The name of the game to be processed.
4303
4304 -wgames <number>
4305 -bgames <number>
4306 -games <number>
4307 Number of games to start as White, as Black or in total. Default
4308 is 1 as white and none as black. If only one color is specified
4309 then none of the other color is assumed. If no color is speci‐
4310 fied then equal numbers of White and Black games are started,
4311 with the extra game being as White if an odd number of total
4312 games is specified.
4313
4314 -me <short name>
4315 -opp <short name>
4316 A one-word alias for yourself or your opponent.
4317
4318 -wname <full name>
4319 -bname <full name>
4320 -myname <full name>
4321 -oppname <full name>
4322 The full name of White, Black, yourself or your opponent.
4323
4324 -wna <net address>
4325 -bna <net address>
4326 -na <net address>
4327 -oppna <net address>
4328 The email address of White, Black, yourself or your opponent.
4329
4330 -dir <directory>
4331 The directory in which `cmail' keeps its files. This defaults to
4332 the environment variable `$CMAIL_DIR' or failing that, `$CHESS‐
4333 DIR', `$HOME/Chess' or `~/Chess'. It will be created if it does
4334 not exist.
4335
4336 -arcdir <directory>
4337 The directory in which `cmail' archives completed games. De‐
4338 faults to the environment variable `$CMAIL_ARCDIR' or, in its
4339 absence, the same directory as cmail keeps its working files
4340 (above).
4341
4342 -mailprog <mail program>
4343 The program used by cmail to send email messages. This defaults
4344 to the environment variable `$CMAIL_MAILPROG' or failing that
4345 `/usr/ucb/Mail', `/usr/ucb/mail' or `Mail'. You will need to set
4346 this variable if none of the above paths fit your system.
4347
4348 -logFile <file>
4349 A file in which to dump verbose debugging messages that are in‐
4350 voked with the `-v' option.
4351
4352 -event <event>
4353 The PGN Event tag (default `Email correspondence game').
4354
4355 -site <site>
4356 The PGN Site tag (default `NET').
4357
4358 -round <round>
4359 The PGN Round tag (default `-', not applicable).
4360
4361 -mode <mode>
4362 The PGN Mode tag (default `EM', Electronic Mail).
4363
4364 Other options
4365 Any option flags not listed above are passed through to XBoard.
4366 Invoking XBoard through CMail changes the default values of two
4367 XBoard options: The default value for `-noChessProgram' is
4368 changed to true; that is, by default no chess engine is started.
4369 The default value for `-timeDelay' is changed to 0; that is, by
4370 default XBoard immediately goes to the end of the game as played
4371 so far, rather than stepping through the moves one by one. You
4372 can still set these options to whatever values you prefer by
4373 supplying them on CMail's command line. See Options.
4374
4375 Starting a CMail Game
4376 Type `cmail' from a shell to start a game as white. After an opening
4377 message, you will be prompted for a game name, which is optional -- if
4378 you simply press <Enter>, the game name will take the form `you-VS-op‐
4379 ponent'. You will next be prompted for the short name of your opponent.
4380 If you haven't played this person before, you will also be prompted for
4381 his/her email address. `cmail' will then invoke XBoard in the back‐
4382 ground. Make your first move and select `Mail Move' from the `File'
4383 menu. See File Menu. If all is well, `cmail' will mail a copy of the
4384 move to your opponent. If you select `Exit' without having selected
4385 `Mail Move' then no move will be made.
4386
4387
4388 Answering a Move
4389 When you receive a message from an opponent containing a move in one of
4390 your games, simply pipe the message through `cmail'. In some mailers
4391 this is as simple as typing `| cmail' when viewing the message, while
4392 in others you may have to save the message to a file and do `cmail <
4393 file' at the command line. In either case `cmail' will display the game
4394 using XBoard. If you didn't exit XBoard when you made your first move
4395 then `cmail' will do its best to use the existing XBoard instead of
4396 starting a new one. As before, simply make a move and select `Mail
4397 Move' from the `File' menu. See File Menu. `cmail' will try to use the
4398 XBoard that was most recently used to display the current game. This
4399 means that many games can be in progress simultaneously, each with its
4400 own active XBoard.
4401
4402 If you want to look at the history or explore a variation, go ahead,
4403 but you must return to the current position before XBoard will allow
4404 you to mail a move. If you edit the game's history you must select
4405 `Reload Same Game' from the `File' menu to get back to the original po‐
4406 sition, then make the move you want and select `Mail Move'. As before,
4407 if you decide you aren't ready to make a move just yet you can either
4408 select `Exit' without sending a move or just leave XBoard running until
4409 you are ready.
4410
4411
4412 Multi-Game Messages
4413 It is possible to have a `cmail' message carry more than one game.
4414 This feature was implemented to handle IECG (International Email Chess
4415 Group) matches, where a match consists of one game as white and one as
4416 black, with moves transmitted simultaneously. In case there are more
4417 general uses, `cmail' itself places no limit on the number of
4418 black/white games contained in a message; however, XBoard does.
4419
4420
4421 Completing a Game
4422 Because XBoard can detect checkmate and stalemate, `cmail' handles game
4423 termination sensibly. As well as resignation, the `Action' menu allows
4424 draws to be offered and accepted for `cmail' games.
4425
4426 For multi-game messages, only unfinished and just-finished games will
4427 be included in email messages. When all the games are finished, they
4428 are archived in the user's archive directory, and similarly in the op‐
4429 ponent's when he or she pipes the final message through `cmail'. The
4430 archive file name includes the date the game was started.
4431
4432
4433 Known CMail Problems
4434 It's possible that a strange conjunction of conditions may occasionally
4435 mean that `cmail' has trouble reactivating an existing XBoard. If this
4436 should happen, simply trying it again should work. If not, remove the
4437 file that stores the XBoard's PID (`game.pid') or use the `-xreuse' op‐
4438 tion to force `cmail' to start a new XBoard.
4439
4440 Versions of `cmail' after 2.16 no longer understand the old file format
4441 that XBoard used to use and so cannot be used to correspond with anyone
4442 using an older version.
4443
4444 Versions of `cmail' older than 2.11 do not handle multi-game messages,
4445 so multi-game correspondence is not possible with opponents using an
4446 older version.
4447
4448
4450 Here are some other programs you can use with XBoard
4451
4452
4453 GNU Chess
4454 The GNU Chess engine is available from:
4455
4456 ftp://ftp.gnu.org/gnu/gnuchess/
4457
4458 You can use XBoard to play a game against GNU Chess, or to interface
4459 GNU Chess to an ICS.
4460
4461
4462 Fairy-Max
4463 Fairy-Max is a derivative from the once World's smallest Chess program
4464 micro-Max, which measures only about 100 lines of source code. The
4465 main difference with micro-Max is that Fairy-Max loads its move-genera‐
4466 tor tables from a file, so that the rules for piece movement can be
4467 easily configured to implement unorthodox pieces. Fairy-Max can there‐
4468 fore play a large number of variants, normal Chess being one of those.
4469 In addition it plays Knightmate, Capablanca and Gothic Chess, Shatranj,
4470 Courier Chess, Cylinder chess, Berolina Chess, while the user can eas‐
4471 ily define new variants. It can be obtained from:
4472
4473 http://home.hccnet.nl/h.g.muller/dwnldpage.html
4474
4475
4476 HoiChess
4477 HoiChess is a not-so-very-strong Chess engine, which comes with a de‐
4478 rivative HoiXiangqi, able to play Chinese Chess. It can be obtained
4479 from the standard Linux repositories through:
4480
4481 sudo apt-get install hoichess
4482
4483
4484 Crafty
4485 Crafty is a chess engine written by Bob Hyatt. You can use XBoard to
4486 play a game against Crafty, hook Crafty up to an ICS, or use Crafty to
4487 interactively analyze games and positions for you.
4488
4489 Crafty is a strong, rapidly evolving chess program. This rapid pace of
4490 development is good, because it means Crafty is always getting better.
4491 This can sometimes cause problems with backwards compatibility, but
4492 usually the latest version of Crafty will work well with the latest
4493 version of XBoard. Crafty can be obtained from its author's FTP site:
4494 ftp://ftp.cis.uab.edu/hyatt/.
4495
4496 To use Crafty with XBoard, give the -fcp and -fd options as follows,
4497 where <crafty's directory> is the directory in which you installed
4498 Crafty and placed its book and other support files.
4499
4500
4502 Copyright (C) 1991 Digital Equipment Corporation, Maynard, Massachu‐
4503 setts.
4504
4505 All Rights Reserved.
4506
4507 Permission to use, copy, modify, and distribute this software and its
4508 documentation for any purpose and without fee is hereby granted, pro‐
4509 vided that the above copyright notice appear in all copies and that
4510 both that copyright notice and this permission notice appear in sup‐
4511 porting documentation, and that the name of Digital not be used in ad‐
4512 vertising or publicity pertaining to distribution of the software with‐
4513 out specific, written prior permission.
4514
4515 Digital disclaims all warranties with regard to this software, includ‐
4516 ing all implied warranties of merchantability and fitness. In no event
4517 shall Digital be liable for any special, indirect or consequential dam‐
4518 ages or any damages whatsoever resulting from loss of use, data or
4519 profits, whether in an action of contract, negligence or other tortious
4520 action, arising out of or in connection with the use or performance of
4521 this software.
4522
4523 Enhancements copyright (C) 1992-2003, 2004, 2005, 2006, 2007, 2008,
4524 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free Software Founda‐
4525 tion, Inc.
4526
4527 Published by the Free Software Foundation
4528 59 Temple Place - Suite 330
4529 Boston, MA 02111-1307 USA
4530
4531 Permission is granted to make and distribute verbatim copies of this
4532 manual provided the copyright notice and this permission notice are
4533 preserved on all copies.
4534
4535 Permission is granted to copy and distribute modified versions of this
4536 manual under the conditions for verbatim copying, provided also that
4537 the section entitled ``GNU General Public License,'' is included ex‐
4538 actly as in the original, and provided that the entire resulting de‐
4539 rived work is distributed under the terms of a permission notice iden‐
4540 tical to this one.
4541
4542 Permission is granted to copy and distribute translations of this man‐
4543 ual into another language, under the above conditions for modified ver‐
4544 sions, except that the section entitled ``GNU General Public License,''
4545 and this permission notice, may be included in translations approved by
4546 the Free Software Foundation instead of in the original English.
4547
4548
4550 Copyright (C) 2007 Free Software Foundation, Inc. `http://fsf.org/'
4551
4552 Everyone is permitted to copy and distribute verbatim copies of this
4553 license document, but changing it is not allowed.
4554
4555 The GNU General Public License is a free, copyleft license for software
4556 and other kinds of works.
4557
4558 The licenses for most software and other practical works are designed
4559 to take away your freedom to share and change the works. By contrast,
4560 the GNU General Public License is intended to guarantee your freedom to
4561 share and change all versions of a program -- to make sure it remains
4562 free software for all its users. We, the Free Software Foundation, use
4563 the GNU General Public License for most of our software; it applies
4564 also to any other work released this way by its authors. You can apply
4565 it to your programs, too.
4566
4567 When we speak of free software, we are referring to freedom, not price.
4568 Our General Public Licenses are designed to make sure that you have the
4569 freedom to distribute copies of free software (and charge for them if
4570 you wish), that you receive source code or can get it if you want it,
4571 that you can change the software or use pieces of it in new free pro‐
4572 grams, and that you know you can do these things.
4573
4574 To protect your rights, we need to prevent others from denying you
4575 these rights or asking you to surrender the rights. Therefore, you
4576 have certain responsibilities if you distribute copies of the software,
4577 or if you modify it: responsibilities to respect the freedom of others.
4578
4579 For example, if you distribute copies of such a program, whether gratis
4580 or for a fee, you must pass on to the recipients the same freedoms that
4581 you received. You must make sure that they, too, receive or can get
4582 the source code. And you must show them these terms so they know their
4583 rights.
4584
4585 Developers that use the GNU GPL protect your rights with two steps: (1)
4586 assert copyright on the software, and (2) offer you this License giving
4587 you legal permission to copy, distribute and/or modify it.
4588
4589 For the developers' and authors' protection, the GPL clearly explains
4590 that there is no warranty for this free software. For both users' and
4591 authors' sake, the GPL requires that modified versions be marked as
4592 changed, so that their problems will not be attributed erroneously to
4593 authors of previous versions.
4594
4595 Some devices are designed to deny users access to install or run modi‐
4596 fied versions of the software inside them, although the manufacturer
4597 can do so. This is fundamentally incompatible with the aim of protect‐
4598 ing users' freedom to change the software. The systematic pattern of
4599 such abuse occurs in the area of products for individuals to use, which
4600 is precisely where it is most unacceptable. Therefore, we have de‐
4601 signed this version of the GPL to prohibit the practice for those prod‐
4602 ucts. If such problems arise substantially in other domains, we stand
4603 ready to extend this provision to those domains in future versions of
4604 the GPL, as needed to protect the freedom of users.
4605
4606 Finally, every program is threatened constantly by software patents.
4607 States should not allow patents to restrict development and use of
4608 software on general-purpose computers, but in those that do, we wish to
4609 avoid the special danger that patents applied to a free program could
4610 make it effectively proprietary. To prevent this, the GPL assures that
4611 patents cannot be used to render the program non-free.
4612
4613 The precise terms and conditions for copying, distribution and modifi‐
4614 cation follow.
4615
4616
4617 Definitions.
4618 ``This License'' refers to version 3 of the GNU General Public
4619 License.
4620
4621 ``Copyright'' also means copyright-like laws that apply to other
4622 kinds of works, such as semiconductor masks.
4623
4624 ``The Program'' refers to any copyrightable work licensed under
4625 this License. Each licensee is addressed as ``you''. ``Li‐
4626 censees'' and ``recipients'' may be individuals or organiza‐
4627 tions.
4628
4629 To ``modify'' a work means to copy from or adapt all or part of
4630 the work in a fashion requiring copyright permission, other than
4631 the making of an exact copy. The resulting work is called a
4632 ``modified version'' of the earlier work or a work ``based on''
4633 the earlier work.
4634
4635 A ``covered work'' means either the unmodified Program or a work
4636 based on the Program.
4637
4638 To ``propagate'' a work means to do anything with it that, with‐
4639 out permission, would make you directly or secondarily liable
4640 for infringement under applicable copyright law, except execut‐
4641 ing it on a computer or modifying a private copy. Propagation
4642 includes copying, distribution (with or without modification),
4643 making available to the public, and in some countries other ac‐
4644 tivities as well.
4645
4646 To ``convey'' a work means any kind of propagation that enables
4647 other parties to make or receive copies. Mere interaction with
4648 a user through a computer network, with no transfer of a copy,
4649 is not conveying.
4650
4651 An interactive user interface displays ``Appropriate Legal No‐
4652 tices'' to the extent that it includes a convenient and promi‐
4653 nently visible feature that (1) displays an appropriate copy‐
4654 right notice, and (2) tells the user that there is no warranty
4655 for the work (except to the extent that warranties are pro‐
4656 vided), that licensees may convey the work under this License,
4657 and how to view a copy of this License. If the interface
4658 presents a list of user commands or options, such as a menu, a
4659 prominent item in the list meets this criterion.
4660
4661
4662 Source Code.
4663 The ``source code'' for a work means the preferred form of the
4664 work for making modifications to it. ``Object code'' means any
4665 non-source form of a work.
4666
4667 A ``Standard Interface'' means an interface that either is an
4668 official standard defined by a recognized standards body, or, in
4669 the case of interfaces specified for a particular programming
4670 language, one that is widely used among developers working in
4671 that language.
4672
4673 The ``System Libraries'' of an executable work include anything,
4674 other than the work as a whole, that (a) is included in the nor‐
4675 mal form of packaging a Major Component, but which is not part
4676 of that Major Component, and (b) serves only to enable use of
4677 the work with that Major Component, or to implement a Standard
4678 Interface for which an implementation is available to the public
4679 in source code form. A ``Major Component'', in this context,
4680 means a major essential component (kernel, window system, and so
4681 on) of the specific operating system (if any) on which the exe‐
4682 cutable work runs, or a compiler used to produce the work, or an
4683 object code interpreter used to run it.
4684
4685 The ``Corresponding Source'' for a work in object code form
4686 means all the source code needed to generate, install, and (for
4687 an executable work) run the object code and to modify the work,
4688 including scripts to control those activities. However, it does
4689 not include the work's System Libraries, or general-purpose
4690 tools or generally available free programs which are used unmod‐
4691 ified in performing those activities but which are not part of
4692 the work. For example, Corresponding Source includes interface
4693 definition files associated with source files for the work, and
4694 the source code for shared libraries and dynamically linked sub‐
4695 programs that the work is specifically designed to require, such
4696 as by intimate data communication or control flow between those
4697 subprograms and other parts of the work.
4698
4699 The Corresponding Source need not include anything that users
4700 can regenerate automatically from other parts of the Correspond‐
4701 ing Source.
4702
4703 The Corresponding Source for a work in source code form is that
4704 same work.
4705
4706
4707 Basic Permissions.
4708 All rights granted under this License are granted for the term
4709 of copyright on the Program, and are irrevocable provided the
4710 stated conditions are met. This License explicitly affirms your
4711 unlimited permission to run the unmodified Program. The output
4712 from running a covered work is covered by this License only if
4713 the output, given its content, constitutes a covered work. This
4714 License acknowledges your rights of fair use or other equiva‐
4715 lent, as provided by copyright law.
4716
4717 You may make, run and propagate covered works that you do not
4718 convey, without conditions so long as your license otherwise re‐
4719 mains in force. You may convey covered works to others for the
4720 sole purpose of having them make modifications exclusively for
4721 you, or provide you with facilities for running those works,
4722 provided that you comply with the terms of this License in con‐
4723 veying all material for which you do not control copyright.
4724 Those thus making or running the covered works for you must do
4725 so exclusively on your behalf, under your direction and control,
4726 on terms that prohibit them from making any copies of your copy‐
4727 righted material outside their relationship with you.
4728
4729 Conveying under any other circumstances is permitted solely un‐
4730 der the conditions stated below. Sublicensing is not allowed;
4731 section 10 makes it unnecessary.
4732
4733
4734 Protecting Users' Legal Rights From Anti-Circumvention Law.
4735 No covered work shall be deemed part of an effective technologi‐
4736 cal measure under any applicable law fulfilling obligations un‐
4737 der article 11 of the WIPO copyright treaty adopted on 20 Decem‐
4738 ber 1996, or similar laws prohibiting or restricting circumven‐
4739 tion of such measures.
4740
4741 When you convey a covered work, you waive any legal power to
4742 forbid circumvention of technological measures to the extent
4743 such circumvention is effected by exercising rights under this
4744 License with respect to the covered work, and you disclaim any
4745 intention to limit operation or modification of the work as a
4746 means of enforcing, against the work's users, your or third par‐
4747 ties' legal rights to forbid circumvention of technological mea‐
4748 sures.
4749
4750
4751 Conveying Verbatim Copies.
4752 You may convey verbatim copies of the Program's source code as
4753 you receive it, in any medium, provided that you conspicuously
4754 and appropriately publish on each copy an appropriate copyright
4755 notice; keep intact all notices stating that this License and
4756 any non-permissive terms added in accord with section 7 apply to
4757 the code; keep intact all notices of the absence of any war‐
4758 ranty; and give all recipients a copy of this License along with
4759 the Program.
4760
4761 You may charge any price or no price for each copy that you con‐
4762 vey, and you may offer support or warranty protection for a fee.
4763
4764
4765 Conveying Modified Source Versions.
4766 You may convey a work based on the Program, or the modifications
4767 to produce it from the Program, in the form of source code under
4768 the terms of section 4, provided that you also meet all of these
4769 conditions:
4770
4771 The work must carry prominent notices stating that you modified
4772 it, and giving a relevant date.
4773
4774 The work must carry prominent notices stating that it is re‐
4775 leased under this License and any conditions added under section
4776 7. This requirement modifies the requirement in section 4 to
4777 ``keep intact all notices''.
4778
4779 You must license the entire work, as a whole, under this License
4780 to anyone who comes into possession of a copy. This License
4781 will therefore apply, along with any applicable section 7 addi‐
4782 tional terms, to the whole of the work, and all its parts, re‐
4783 gardless of how they are packaged. This License gives no per‐
4784 mission to license the work in any other way, but it does not
4785 invalidate such permission if you have separately received it.
4786
4787 If the work has interactive user interfaces, each must display
4788 Appropriate Legal Notices; however, if the Program has interac‐
4789 tive interfaces that do not display Appropriate Legal Notices,
4790 your work need not make them do so.
4791
4792 A compilation of a covered work with other separate and indepen‐
4793 dent works, which are not by their nature extensions of the cov‐
4794 ered work, and which are not combined with it such as to form a
4795 larger program, in or on a volume of a storage or distribution
4796 medium, is called an ``aggregate'' if the compilation and its
4797 resulting copyright are not used to limit the access or legal
4798 rights of the compilation's users beyond what the individual
4799 works permit. Inclusion of a covered work in an aggregate does
4800 not cause this License to apply to the other parts of the aggre‐
4801 gate.
4802
4803
4804 Conveying Non-Source Forms.
4805 You may convey a covered work in object code form under the
4806 terms of sections 4 and 5, provided that you also convey the ma‐
4807 chine-readable Corresponding Source under the terms of this Li‐
4808 cense, in one of these ways:
4809
4810 Convey the object code in, or embodied in, a physical product
4811 (including a physical distribution medium), accompanied by the
4812 Corresponding Source fixed on a durable physical medium custom‐
4813 arily used for software interchange.
4814
4815 Convey the object code in, or embodied in, a physical product
4816 (including a physical distribution medium), accompanied by a
4817 written offer, valid for at least three years and valid for as
4818 long as you offer spare parts or customer support for that prod‐
4819 uct model, to give anyone who possesses the object code either
4820 (1) a copy of the Corresponding Source for all the software in
4821 the product that is covered by this License, on a durable physi‐
4822 cal medium customarily used for software interchange, for a
4823 price no more than your reasonable cost of physically performing
4824 this conveying of source, or (2) access to copy the Correspond‐
4825 ing Source from a network server at no charge.
4826
4827 Convey individual copies of the object code with a copy of the
4828 written offer to provide the Corresponding Source. This alter‐
4829 native is allowed only occasionally and noncommercially, and
4830 only if you received the object code with such an offer, in ac‐
4831 cord with subsection 6b.
4832
4833 Convey the object code by offering access from a designated
4834 place (gratis or for a charge), and offer equivalent access to
4835 the Corresponding Source in the same way through the same place
4836 at no further charge. You need not require recipients to copy
4837 the Corresponding Source along with the object code. If the
4838 place to copy the object code is a network server, the Corre‐
4839 sponding Source may be on a different server (operated by you or
4840 a third party) that supports equivalent copying facilities, pro‐
4841 vided you maintain clear directions next to the object code say‐
4842 ing where to find the Corresponding Source. Regardless of what
4843 server hosts the Corresponding Source, you remain obligated to
4844 ensure that it is available for as long as needed to satisfy
4845 these requirements.
4846
4847 Convey the object code using peer-to-peer transmission, provided
4848 you inform other peers where the object code and Corresponding
4849 Source of the work are being offered to the general public at no
4850 charge under subsection 6d.
4851
4852 A separable portion of the object code, whose source code is ex‐
4853 cluded from the Corresponding Source as a System Library, need
4854 not be included in conveying the object code work.
4855
4856 A ``User Product'' is either (1) a ``consumer product'', which
4857 means any tangible personal property which is normally used for
4858 personal, family, or household purposes, or (2) anything de‐
4859 signed or sold for incorporation into a dwelling. In determin‐
4860 ing whether a product is a consumer product, doubtful cases
4861 shall be resolved in favor of coverage. For a particular prod‐
4862 uct received by a particular user, ``normally used'' refers to a
4863 typical or common use of that class of product, regardless of
4864 the status of the particular user or of the way in which the
4865 particular user actually uses, or expects or is expected to use,
4866 the product. A product is a consumer product regardless of
4867 whether the product has substantial commercial, industrial or
4868 non-consumer uses, unless such uses represent the only signifi‐
4869 cant mode of use of the product.
4870
4871 ``Installation Information'' for a User Product means any meth‐
4872 ods, procedures, authorization keys, or other information re‐
4873 quired to install and execute modified versions of a covered
4874 work in that User Product from a modified version of its Corre‐
4875 sponding Source. The information must suffice to ensure that
4876 the continued functioning of the modified object code is in no
4877 case prevented or interfered with solely because modification
4878 has been made.
4879
4880 If you convey an object code work under this section in, or
4881 with, or specifically for use in, a User Product, and the con‐
4882 veying occurs as part of a transaction in which the right of
4883 possession and use of the User Product is transferred to the re‐
4884 cipient in perpetuity or for a fixed term (regardless of how the
4885 transaction is characterized), the Corresponding Source conveyed
4886 under this section must be accompanied by the Installation In‐
4887 formation. But this requirement does not apply if neither you
4888 nor any third party retains the ability to install modified ob‐
4889 ject code on the User Product (for example, the work has been
4890 installed in ROM).
4891
4892 The requirement to provide Installation Information does not in‐
4893 clude a requirement to continue to provide support service, war‐
4894 ranty, or updates for a work that has been modified or installed
4895 by the recipient, or for the User Product in which it has been
4896 modified or installed. Access to a network may be denied when
4897 the modification itself materially and adversely affects the op‐
4898 eration of the network or violates the rules and protocols for
4899 communication across the network.
4900
4901 Corresponding Source conveyed, and Installation Information pro‐
4902 vided, in accord with this section must be in a format that is
4903 publicly documented (and with an implementation available to the
4904 public in source code form), and must require no special pass‐
4905 word or key for unpacking, reading or copying.
4906
4907
4908 Additional Terms.
4909 ``Additional permissions'' are terms that supplement the terms
4910 of this License by making exceptions from one or more of its
4911 conditions. Additional permissions that are applicable to the
4912 entire Program shall be treated as though they were included in
4913 this License, to the extent that they are valid under applicable
4914 law. If additional permissions apply only to part of the Pro‐
4915 gram, that part may be used separately under those permissions,
4916 but the entire Program remains governed by this License without
4917 regard to the additional permissions.
4918
4919 When you convey a copy of a covered work, you may at your option
4920 remove any additional permissions from that copy, or from any
4921 part of it. (Additional permissions may be written to require
4922 their own removal in certain cases when you modify the work.)
4923 You may place additional permissions on material, added by you
4924 to a covered work, for which you have or can give appropriate
4925 copyright permission.
4926
4927 Notwithstanding any other provision of this License, for mate‐
4928 rial you add to a covered work, you may (if authorized by the
4929 copyright holders of that material) supplement the terms of this
4930 License with terms:
4931
4932 Disclaiming warranty or limiting liability differently from the
4933 terms of sections 15 and 16 of this License; or
4934
4935 Requiring preservation of specified reasonable legal notices or
4936 author attributions in that material or in the Appropriate Legal
4937 Notices displayed by works containing it; or
4938
4939 Prohibiting misrepresentation of the origin of that material, or
4940 requiring that modified versions of such material be marked in
4941 reasonable ways as different from the original version; or
4942
4943 Limiting the use for publicity purposes of names of licensors or
4944 authors of the material; or
4945
4946 Declining to grant rights under trademark law for use of some
4947 trade names, trademarks, or service marks; or
4948
4949 Requiring indemnification of licensors and authors of that mate‐
4950 rial by anyone who conveys the material (or modified versions of
4951 it) with contractual assumptions of liability to the recipient,
4952 for any liability that these contractual assumptions directly
4953 impose on those licensors and authors.
4954
4955 All other non-permissive additional terms are considered ``fur‐
4956 ther restrictions'' within the meaning of section 10. If the
4957 Program as you received it, or any part of it, contains a notice
4958 stating that it is governed by this License along with a term
4959 that is a further restriction, you may remove that term. If a
4960 license document contains a further restriction but permits re‐
4961 licensing or conveying under this License, you may add to a cov‐
4962 ered work material governed by the terms of that license docu‐
4963 ment, provided that the further restriction does not survive
4964 such relicensing or conveying.
4965
4966 If you add terms to a covered work in accord with this section,
4967 you must place, in the relevant source files, a statement of the
4968 additional terms that apply to those files, or a notice indicat‐
4969 ing where to find the applicable terms.
4970
4971 Additional terms, permissive or non-permissive, may be stated in
4972 the form of a separately written license, or stated as excep‐
4973 tions; the above requirements apply either way.
4974
4975
4976 Termination.
4977 You may not propagate or modify a covered work except as ex‐
4978 pressly provided under this License. Any attempt otherwise to
4979 propagate or modify it is void, and will automatically terminate
4980 your rights under this License (including any patent licenses
4981 granted under the third paragraph of section 11).
4982
4983 However, if you cease all violation of this License, then your
4984 license from a particular copyright holder is reinstated (a)
4985 provisionally, unless and until the copyright holder explicitly
4986 and finally terminates your license, and (b) permanently, if the
4987 copyright holder fails to notify you of the violation by some
4988 reasonable means prior to 60 days after the cessation.
4989
4990 Moreover, your license from a particular copyright holder is re‐
4991 instated permanently if the copyright holder notifies you of the
4992 violation by some reasonable means, this is the first time you
4993 have received notice of violation of this License (for any work)
4994 from that copyright holder, and you cure the violation prior to
4995 30 days after your receipt of the notice.
4996
4997 Termination of your rights under this section does not terminate
4998 the licenses of parties who have received copies or rights from
4999 you under this License. If your rights have been terminated and
5000 not permanently reinstated, you do not qualify to receive new
5001 licenses for the same material under section 10.
5002
5003
5004 Acceptance Not Required for Having Copies.
5005 You are not required to accept this License in order to receive
5006 or run a copy of the Program. Ancillary propagation of a cov‐
5007 ered work occurring solely as a consequence of using peer-to-
5008 peer transmission to receive a copy likewise does not require
5009 acceptance. However, nothing other than this License grants you
5010 permission to propagate or modify any covered work. These ac‐
5011 tions infringe copyright if you do not accept this License.
5012 Therefore, by modifying or propagating a covered work, you indi‐
5013 cate your acceptance of this License to do so.
5014
5015
5016 Automatic Licensing of Downstream Recipients.
5017 Each time you convey a covered work, the recipient automatically
5018 receives a license from the original licensors, to run, modify
5019 and propagate that work, subject to this License. You are not
5020 responsible for enforcing compliance by third parties with this
5021 License.
5022
5023 An ``entity transaction'' is a transaction transferring control
5024 of an organization, or substantially all assets of one, or sub‐
5025 dividing an organization, or merging organizations. If propaga‐
5026 tion of a covered work results from an entity transaction, each
5027 party to that transaction who receives a copy of the work also
5028 receives whatever licenses to the work the party's predecessor
5029 in interest had or could give under the previous paragraph, plus
5030 a right to possession of the Corresponding Source of the work
5031 from the predecessor in interest, if the predecessor has it or
5032 can get it with reasonable efforts.
5033
5034 You may not impose any further restrictions on the exercise of
5035 the rights granted or affirmed under this License. For example,
5036 you may not impose a license fee, royalty, or other charge for
5037 exercise of rights granted under this License, and you may not
5038 initiate litigation (including a cross-claim or counterclaim in
5039 a lawsuit) alleging that any patent claim is infringed by mak‐
5040 ing, using, selling, offering for sale, or importing the Program
5041 or any portion of it.
5042
5043
5044 Patents.
5045 A ``contributor'' is a copyright holder who authorizes use under
5046 this License of the Program or a work on which the Program is
5047 based. The work thus licensed is called the contributor's
5048 ``contributor version''.
5049
5050 A contributor's ``essential patent claims'' are all patent
5051 claims owned or controlled by the contributor, whether already
5052 acquired or hereafter acquired, that would be infringed by some
5053 manner, permitted by this License, of making, using, or selling
5054 its contributor version, but do not include claims that would be
5055 infringed only as a consequence of further modification of the
5056 contributor version. For purposes of this definition, ``con‐
5057 trol'' includes the right to grant patent sublicenses in a man‐
5058 ner consistent with the requirements of this License.
5059
5060 Each contributor grants you a non-exclusive, worldwide, royalty-
5061 free patent license under the contributor's essential patent
5062 claims, to make, use, sell, offer for sale, import and otherwise
5063 run, modify and propagate the contents of its contributor ver‐
5064 sion.
5065
5066 In the following three paragraphs, a ``patent license'' is any
5067 express agreement or commitment, however denominated, not to en‐
5068 force a patent (such as an express permission to practice a
5069 patent or covenant not to sue for patent infringement). To
5070 ``grant'' such a patent license to a party means to make such an
5071 agreement or commitment not to enforce a patent against the
5072 party.
5073
5074 If you convey a covered work, knowingly relying on a patent li‐
5075 cense, and the Corresponding Source of the work is not available
5076 for anyone to copy, free of charge and under the terms of this
5077 License, through a publicly available network server or other
5078 readily accessible means, then you must either (1) cause the
5079 Corresponding Source to be so available, or (2) arrange to de‐
5080 prive yourself of the benefit of the patent license for this
5081 particular work, or (3) arrange, in a manner consistent with the
5082 requirements of this License, to extend the patent license to
5083 downstream recipients. ``Knowingly relying'' means you have ac‐
5084 tual knowledge that, but for the patent license, your conveying
5085 the covered work in a country, or your recipient's use of the
5086 covered work in a country, would infringe one or more identifi‐
5087 able patents in that country that you have reason to believe are
5088 valid.
5089
5090 If, pursuant to or in connection with a single transaction or
5091 arrangement, you convey, or propagate by procuring conveyance
5092 of, a covered work, and grant a patent license to some of the
5093 parties receiving the covered work authorizing them to use,
5094 propagate, modify or convey a specific copy of the covered work,
5095 then the patent license you grant is automatically extended to
5096 all recipients of the covered work and works based on it.
5097
5098 A patent license is ``discriminatory'' if it does not include
5099 within the scope of its coverage, prohibits the exercise of, or
5100 is conditioned on the non-exercise of one or more of the rights
5101 that are specifically granted under this License. You may not
5102 convey a covered work if you are a party to an arrangement with
5103 a third party that is in the business of distributing software,
5104 under which you make payment to the third party based on the ex‐
5105 tent of your activity of conveying the work, and under which the
5106 third party grants, to any of the parties who would receive the
5107 covered work from you, a discriminatory patent license (a) in
5108 connection with copies of the covered work conveyed by you (or
5109 copies made from those copies), or (b) primarily for and in con‐
5110 nection with specific products or compilations that contain the
5111 covered work, unless you entered into that arrangement, or that
5112 patent license was granted, prior to 28 March 2007.
5113
5114 Nothing in this License shall be construed as excluding or lim‐
5115 iting any implied license or other defenses to infringement that
5116 may otherwise be available to you under applicable patent law.
5117
5118
5119 No Surrender of Others' Freedom.
5120 If conditions are imposed on you (whether by court order, agree‐
5121 ment or otherwise) that contradict the conditions of this Li‐
5122 cense, they do not excuse you from the conditions of this Li‐
5123 cense. If you cannot convey a covered work so as to satisfy si‐
5124 multaneously your obligations under this License and any other
5125 pertinent obligations, then as a consequence you may not convey
5126 it at all. For example, if you agree to terms that obligate you
5127 to collect a royalty for further conveying from those to whom
5128 you convey the Program, the only way you could satisfy both
5129 those terms and this License would be to refrain entirely from
5130 conveying the Program.
5131
5132
5133 Use with the GNU Affero General Public License.
5134 Notwithstanding any other provision of this License, you have
5135 permission to link or combine any covered work with a work li‐
5136 censed under version 3 of the GNU Affero General Public License
5137 into a single combined work, and to convey the resulting work.
5138 The terms of this License will continue to apply to the part
5139 which is the covered work, but the special requirements of the
5140 GNU Affero General Public License, section 13, concerning inter‐
5141 action through a network will apply to the combination as such.
5142
5143
5144 Revised Versions of this License.
5145 The Free Software Foundation may publish revised and/or new ver‐
5146 sions of the GNU General Public License from time to time. Such
5147 new versions will be similar in spirit to the present version,
5148 but may differ in detail to address new problems or concerns.
5149
5150 Each version is given a distinguishing version number. If the
5151 Program specifies that a certain numbered version of the GNU
5152 General Public License ``or any later version'' applies to it,
5153 you have the option of following the terms and conditions either
5154 of that numbered version or of any later version published by
5155 the Free Software Foundation. If the Program does not specify a
5156 version number of the GNU General Public License, you may choose
5157 any version ever published by the Free Software Foundation.
5158
5159 If the Program specifies that a proxy can decide which future
5160 versions of the GNU General Public License can be used, that
5161 proxy's public statement of acceptance of a version permanently
5162 authorizes you to choose that version for the Program.
5163
5164 Later license versions may give you additional or different per‐
5165 missions. However, no additional obligations are imposed on any
5166 author or copyright holder as a result of your choosing to fol‐
5167 low a later version.
5168
5169
5170 Disclaimer of Warranty.
5171 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
5172 APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
5173 COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM ``AS
5174 IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
5175 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER‐
5176 CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
5177 RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
5178 YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
5179 ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
5180
5181
5182 Limitation of Liability.
5183 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
5184 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODI‐
5185 FIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO
5186 YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
5187 CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
5188 THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
5189 BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
5190 PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
5191 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED
5192 OF THE POSSIBILITY OF SUCH DAMAGES.
5193
5194
5195 Interpretation of Sections 15 and 16.
5196 If the disclaimer of warranty and limitation of liability pro‐
5197 vided above cannot be given local legal effect according to
5198 their terms, reviewing courts shall apply local law that most
5199 closely approximates an absolute waiver of all civil liability
5200 in connection with the Program, unless a warranty or assumption
5201 of liability accompanies a copy of the Program in return for a
5202 fee.
5203
5204 If you develop a new program, and you want it to be of the
5205 greatest possible use to the public, the best way to achieve
5206 this is to make it free software which everyone can redistribute
5207 and change under these terms.
5208
5209 To do so, attach the following notices to the program. It is
5210 safest to attach them to the start of each source file to most
5211 effectively state the exclusion of warranty; and each file
5212 should have at least the ``copyright'' line and a pointer to
5213 where the full notice is found.
5214
5215 ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
5216 Copyright (C) YEAR NAME OF AUTHOR
5217
5218 This program is free software: you can redistribute it and/or modify
5219 it under the terms of the GNU General Public License as published by
5220 the Free Software Foundation, either version 3 of the License, or (at
5221 your option) any later version.
5222
5223 This program is distributed in the hope that it will be useful, but
5224 WITHOUT ANY WARRANTY; without even the implied warranty of
5225 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5226 General Public License for more details.
5227
5228 You should have received a copy of the GNU General Public License
5229 along with this program. If not, see `http://www.gnu.org/licenses/'.
5230
5231 Also add information on how to contact you by electronic and pa‐
5232 per mail.
5233
5234 If the program does terminal interaction, make it output a short
5235 notice like this when it starts in an interactive mode:
5236
5237 PROGRAM Copyright (C) YEAR NAME OF AUTHOR
5238 This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
5239 This is free software, and you are welcome to redistribute it
5240 under certain conditions; type `show c' for details.
5241
5242 The hypothetical commands `show w' and `show c' should show the
5243 appropriate parts of the General Public License. Of course,
5244 your program's commands might be different; for a GUI interface,
5245 you would use an ``about box''.
5246
5247 You should also get your employer (if you work as a programmer)
5248 or school, if any, to sign a ``copyright disclaimer'' for the
5249 program, if necessary. For more information on this, and how to
5250 apply and follow the GNU GPL, see `http://www.gnu.org/li‐
5251 censes/'.
5252
5253 The GNU General Public License does not permit incorporating
5254 your program into proprietary programs. If your program is a
5255 subroutine library, you may consider it more useful to permit
5256 linking proprietary applications with the library. If this is
5257 what you want to do, use the GNU Lesser General Public License
5258 instead of this License. But first, please read
5259 `http://www.gnu.org/philosophy/why-not-lgpl.html'.
5260
5261
5262
5263
5264GNU $Date: xboard(6)