1xboard(6)                        Games Manual                        xboard(6)
2
3
4

NAME

6       xboard - X graphical user interface for chess
7

SYNOPSIS

9       xboard [options]
10       xboard -ics -icshost hostname [options]
11       xboard -ncp [options]
12       |pxboard
13       cmail [options]
14
15

DESCRIPTION

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.4.2 of XBoard.
23
24

MAJOR MODES

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
34              between two chess engines,  interactively  analyze  your  stored
35              games or set up and analyze arbitrary positions.  (Note: Not all
36              chess engines support analysis.)
37
38       xboard -ics -icshost hostname [options]
39              As Internet Chess Server (ICS) interface, XBoard lets  you  play
40              against  other  ICS  users,  observe  games they are playing, or
41              review games that have  recently  finished.   Most  of  the  ICS
42              "wild" chess variants are supported, including bughouse.
43
44       xboard -ncp [options]
45              XBoard  can  also  be used simply as an electronic chessboard to
46              play through games. It will read and write game files and  allow
47              you  to  play  through  variations  manually.  You can use it to
48              browse games off the net or review games you have saved.   These
49              features are also available in the other modes.
50
51       |pxboard
52              If  you  want  to pipe games into XBoard, use the supplied shell
53              script `pxboard'.  For example, from the news reader `xrn', find
54              a  message  with one or more games in it, click the Save button,
55              and type `|pxboard' as the file name.
56
57       cmail [options]
58              As an interface to electronic mail correspondence chess,  XBoard
59              works with the cmail program. See CMail below for instructions.
60
62       To move a piece, you can drag it with the left mouse button, or you can
63       click the left mouse button once on the piece, then once  more  on  the
64       destination square.  To drop a new piece on a square (when applicable),
65       press the middle or the right mouse button over the square  and  select
66       from  the  pop-up  menu.  In cases where you can drop either a white or
67       black piece, use the middle button (or shift+right) for white  and  the
68       right  button (or shift+middle) for black.  When you are playing a bug‐
69       house game on an Internet Chess Server, a list of the off-board  pieces
70       that  each  player has available is shown in the window title after the
71       player's name; in addition, the piece menus show the number  of  pieces
72       available  of each type. From version 4.3.14 on, it is also possible in
73       crazyhouse, bughouse or shogi to dag and drop pieces to the board  from
74       the holdings squares displayed next to the board.
75
76       All  other  XBoard  commands  are available from the menu bar. The most
77       frequently used commands also have shortcut keys or on-screen buttons.
78
79       When XBoard is iconized, its graphical icon is a white knight if it  is
80       White's  turn  to  move,  a  black  knight  if it is Black's turn.  See
81       Iconize in Keys below if you have  problems  getting  this  feature  to
82       work.
83
84
85   File Menu
86       New Game
87              Resets  XBoard  and  the  chess engine to the beginning of a new
88              chess game. The `r' key is a keyboard  equivalent.  In  Internet
89              Chess  Server  mode,  clears  the  current state of XBoard, then
90              resynchronizes with the ICS by sending a refresh command. If you
91              want  to  stop playing, observing, or examining an ICS game, use
92              an appropriate command from the Action  menu,  not  `New  Game'.
93              See Action Menu.
94
95       New Shuffle Game
96              Similar  to  `New  Game', but allows you to specify a particular
97              initial position (according to a standardized numbering  system)
98              in  chess  variants which use randomized opening positions (e.g.
99              Chess960).  The selected opening position will  persistently  be
100              chosen on any following New Game command until you use this menu
101              to select another. Selecting position number -1 will  produce  a
102              newly randomized position on any new game.  Using this menu item
103              in variants that normally do not shuffle their opening  position
104              does  cause  these variants to become shuffle variants until you
105              use the `New Shuffle Game' menu to explicitly switch the random‐
106              ization off, or select a new variant.
107
108       New Variant
109              Allows  you  to select a new chess variant in non-ICS mode.  (In
110              ICS play, the ICS is responsible for deciding which variant will
111              be played, and XBoard adapts automatically.) If you play with an
112              engine, the engine must be able to play the selected variant, or
113              the  command  will  be ignored.  XBoard supports all major vari‐
114              ants, such as xiangqi, shogi, chess, chess960, Capablanca Chess,
115              shatranj,  crazyhouse,  bughouse.  (But not every board size has
116              built-in bitmaps for un-orthodox pieces!)
117
118       Load Game
119              Plays a game from a record file.  The  `g'  key  is  a  keyboard
120              equivalent.   A  pop-up dialog prompts you for the file name. If
121              the file contains more than one game,  a  second  pop-up  dialog
122              displays  a list of games (with information drawn from their PGN
123              tags, if any), and you can select the  one  you  want.  Alterna‐
124              tively,  you can load the Nth game in the file directly, by typ‐
125              ing the number `N' after the file name, separated by a space.
126
127              The game file parser will accept PGN (portable  game  notation),
128              or  in  fact  almost  any  file that contains moves in algebraic
129              notation.  Notation of the form `P@f7' is  accepted  for  piece-
130              drops in bughouse games; this is a nonstandard extension to PGN.
131              If the file includes a PGN position (FEN tag), or  an  old-style
132              XBoard  position diagram bracketed by `[--' and `--]' before the
133              first move, the game starts from that position. Text enclosed in
134              parentheses,  square  brackets, or curly braces is assumed to be
135              commentary and is displayed in a pop-up window. Any  other  text
136              in the file is ignored. PGN variations (enclosed in parentheses)
137              are treated as comments; XBoard is not able  to  walk  variation
138              trees.   The  nonstandard  PGN tag [Variant "varname"] functions
139              similarly to  the  -variant  command-line  option  (see  below),
140              allowing games in certain chess variants to be loaded.  There is
141              also a heuristic to recognize chess variants from the Event tag,
142              by  looking  for the strings that the Internet Chess Servers put
143              there when saving variant ("wild") games.
144
145       Load Next Game
146              Loads the next game from the last game record file  you  loaded.
147              The shifted `N' key is a keyboard equivalent.
148
149       Load Previous Game
150              Loads  the  previous  game  from  the  last game record file you
151              loaded.  The shifted `P' key  is  a  keyboard  equivalent.   Not
152              available if the last game was loaded from a pipe.
153
154       Reload Same Game
155              Reloads  the  last  game  you loaded.  Not available if the last
156              game was loaded from a pipe.
157
158       Save Game
159              Appends a record of the current game to a file.  A pop-up dialog
160              prompts  you  for  the file name. If the game did not begin with
161              the standard starting  position,  the  game  file  includes  the
162              starting  position  used.  Games  are saved in the PGN (portable
163              game notation) format, unless the oldSaveStyle option  is  true,
164              in which case they are saved in an older format that is specific
165              to XBoard. Both formats are human-readable, and both can be read
166              back by the `Load Game' command.  Notation of the form `P@f7' is
167              accepted for piece-drops in bughouse games; this is  a  nonstan‐
168              dard extension to PGN.
169
170       Copy Game
171              Copies  a record of the current game to an internal clipboard in
172              PGN format and sets the X selection to the game text.  The  game
173              can  be  pasted to another application (such as a text editor or
174              another copy of XBoard) using that application's paste  command.
175              In  many  X  applications,  such  as xterm and emacs, the middle
176              mouse button can be used for pasting; in XBoard,  you  must  use
177              the Paste Game command.
178
179       Paste Game
180              Interprets  the  current  X selection as a game record and loads
181              it, as with Load Game.
182
183       Load Position
184              Sets up a position  from  a  position  file.   A  pop-up  dialog
185              prompts  you  for  the file name. If the file contains more than
186              one saved position, and you want to load the Nth one,  type  the
187              number  N  after  the  file name, separated by a space. Position
188              files must be in FEN (Forsythe-Edwards notation), or in the for‐
189              mat  that  the Save Position command writes when oldSaveStyle is
190              turned on.
191
192       Load Next Position
193              Loads the next position from the last position file you loaded.
194
195       Load Previous Position
196              Loads the previous position from  the  last  position  file  you
197              loaded.   Not  available  if the last position was loaded from a
198              pipe.
199
200       Reload Same Position
201              Reloads the last position you loaded.  Not available if the last
202              position was loaded from a pipe.
203
204       Save Position
205              Appends  a  diagram of the current position to a file.  A pop-up
206              dialog prompts you for the file name. Positions are saved in FEN
207              (Forsythe-Edwards  notation)  format  unless  the `oldSaveStyle'
208              option is true, in which case they are saved in an older, human-
209              readable  format that is specific to XBoard. Both formats can be
210              read back by the `Load Position' command.
211
212       Copy Position
213              Copies the current position to an internal clipboard in FEN for‐
214              mat and sets the X selection to the position text.  The position
215              can be pasted to another application (such as a text  editor  or
216              another  copy of XBoard) using that application's paste command.
217              In many X applications, such as  xterm  and  emacs,  the  middle
218              mouse  button  can  be used for pasting; in XBoard, you must use
219              the Paste Position command.
220
221       Paste Position
222              Interprets the current X selection as a FEN position  and  loads
223              it, as with Load Position.
224
225       Mail Move
226       Reload CMail Message
227              See CMail.
228
229       Exit   Exits from XBoard. The shifted `Q' key is a keyboard equivalent.
230
231   Mode Menu
232       Machine White
233              Tells the chess engine to play White.
234
235       Machine Black
236              Tells the chess engine to play Black.
237
238       Two Machines
239              Plays a game between two chess engines.
240
241       Analysis Mode
242              XBoard  tells  the  chess  engine to start analyzing the current
243              game/position and shows you the  analysis  as  you  move  pieces
244              around.  Note: Some chess engines do not support Analysis mode.
245
246              To set up a position to analyze, you do the following:
247
248              1. Select Edit Position from the Mode Menu
249
250              2.  Set  up  the  position.  Use the middle and right buttons to
251              bring up the white and black piece menus.
252
253              3. When you are finished, click on either  the  Black  or  White
254              clock to tell XBoard which side moves first.
255
256              4.  Select  Analysis Mode from the Mode Menu to start the analy‐
257              sis.
258
259              The analysis function can also be used when observing  games  on
260              an  ICS with an engine loaded (zippy mode); the engine then will
261              analyse the positions as they occur in the observed game.
262
263       Analyze File
264              This option lets you load a game from a file (PGN,  XBoard  for‐
265              mat,  etc.)   and  analyze it. When you select this menu item, a
266              pop-up window appears and asks for a file name to load.  If  the
267              file  contains  multiple games, another pop up appears that lets
268              you select which game you wish to  analyze.   After  a  game  is
269              loaded,  use the XBoard arrow buttons to step forwards/backwards
270              through the game and  watch  the  analysis.   Note:  Some  chess
271              engines do not support Analysis mode.
272
273       ICS Client
274              This  is  the  normal  mode  when XBoard is connected to a chess
275              server.  If you have moved into Edit Game or Edit Position mode,
276              you can select this option to get out.
277
278              To  use  xboard  in  ICS mode, run it in the foreground with the
279              -ics option, and use the terminal you started it  from  to  type
280              commands  and receive text responses from the chess server.  See
281              Chess Servers below for more information.
282
283              XBoard activates some  special  position/game  editing  features
284              when  you  use the `examine' or `bsetup' commands on ICS and you
285              have `ICS Client' selected on the Mode  menu.   First,  you  can
286              issue  the  ICS  position-editing commands with the mouse.  Move
287              pieces by dragging with mouse button 1.  To drop a new piece  on
288              a  square,  press  mouse  button  2  or 3 over the square.  This
289              brings up a menu of white pieces  (button  2)  or  black  pieces
290              (button 3).  Additional menu choices let you empty the square or
291              clear the board.  Click on the White or Black clock to  set  the
292              side to play.  You cannot set the side to play or drag pieces to
293              arbitrary squares while examining on ICC, but you can do  so  in
294              `bsetup'  mode  on  FICS.   In addition, the menu commands `For‐
295              ward', `Backward', `Pause', and `Stop  Examining'  have  special
296              functions in this mode; see below.
297
298       Edit Game
299              Allows you to make moves for both Black and White, and to change
300              moves after backing up with the `Backward' command.  The  clocks
301              do not run.
302
303              In  chess engine mode, the chess engine continues to check moves
304              for legality but does not participate in the game. You can bring
305              the  chess  engine  into  the game by selecting `Machine White',
306              `Machine Black', or `Two Machines'.
307
308              In ICS mode, the moves are not sent  to  the  ICS:  `Edit  Game'
309              takes  XBoard  out  of  ICS  Client mode and lets you edit games
310              locally.  If you want to edit games on ICS in a way  that  other
311              ICS users can see, use the ICS `examine' command or start an ICS
312              match against yourself.
313
314       Edit Position
315              Lets you set up an arbitrary board position.  Use mouse button 1
316              to  drag pieces to new squares, or to delete a piece by dragging
317              it off the board or dragging an empty square on top of  it.   To
318              drop a new piece on a square, press mouse button 2 or 3 over the
319              square. This brings up a menu of  white  pieces  (button  2)  or
320              black  pieces  (button 3). Additional menu choices let you empty
321              the square or clear the board. You can set the side to play next
322              by clicking on the word White or Black at the top of the screen.
323              Selecting `Edit Position' causes XBoard to  discard  all  remem‐
324              bered moves in the current game.
325
326              In ICS mode, changes made to the position by `Edit Position' are
327              not sent to the ICS: `Edit Position' takes XBoard  out  of  `ICS
328              Client' mode and lets you edit positions locally. If you want to
329              edit positions on ICS in a way that other ICS users can see, use
330              the  ICS  `examine' command, or start an ICS match against your‐
331              self.  (See also the ICS Client topic above.)
332
333       Training
334              Training mode lets you interactively guess the moves of  a  game
335              for  one  of the players. You guess the next move of the game by
336              playing the move on the board. If the move  played  matches  the
337              next  move  of the game, the move is accepted and the opponent's
338              response is auto-played.  If the move played  is  incorrect,  an
339              error message is displayed.  You can select this mode only while
340              loading a game (that is, after selecting `Load  Game'  from  the
341              File  menu).  While XBoard is in `Training' mode, the navigation
342              buttons are disabled.
343
344       Show Game List
345              Shows or hides the list of games generated  by  the  last  `Load
346              Game' command.
347
348       Show Move History
349              Shows  or  hides a list of moves of the current game.  This list
350              allows you to move the display to any earlier  position  in  the
351              game by clicking on the corresponding move.
352
353       Show Engine Output
354              Shows  or  hides  a  window  in which the thinking output of any
355              loaded engines is displayed.
356
357       Edit Tags
358              Lets you edit the PGN (portable game notation) tags for the cur‐
359              rent game. After editing, the tags must still conform to the PGN
360              tag syntax:
361
362                  <tag-section> ::= <tag-pair> <tag-section>
363                                          <empty>
364                  <tag-pair> ::= [ <tag-name> <tag-value> ]
365                  <tag-name> ::= <identifier>
366                  <tag-value> ::= <string>
367
368              See the PGN Standard for full details. Here is an example:
369
370                  [Event "Portoroz Interzonal"]
371                  [Site "Portoroz, Yugoslavia"]
372                  [Date "1958.08.16"]
373                  [Round "8"]
374                  [White "Robert J. Fischer"]
375                  [Black "Bent Larsen"]
376                  [Result "1-0"]
377
378              Any characters that  do  not  match  this  syntax  are  silently
379              ignored.  Note  that the PGN standard requires all games to have
380              at least the seven tags shown above. Any that you omit  will  be
381              filled in by XBoard with `?' (unknown value), or `-' (inapplica‐
382              ble value).
383
384       Edit Comment
385              Adds or modifies a comment on the current position. Comments are
386              saved  by  `Save  Game'  and are displayed by `Load Game', `For‐
387              ward', and `Backward'.
388
389       ICS Input Box
390              If this option is set in ICS mode, XBoard creates an extra  win‐
391              dow  that you can use for typing in ICS commands.  The input box
392              is especially useful if you want to type in something long or do
393              some  editing on your input, because output from ICS doesn't get
394              mixed in with your typing as it would in the main terminal  win‐
395              dow.
396
397       Pause  Pauses  updates  to  the board, and if you are playing against a
398              chess engine,  also  pauses  your  clock.  To  continue,  select
399              `Pause'  again, and the display will automatically update to the
400              latest position.  The `P' button and keyboard `p' key are equiv‐
401              alents.
402
403              If  you select Pause when you are playing against a chess engine
404              and it is not your move, the chess engine's clock will  continue
405              to  run  and it will eventually make a move, at which point both
406              clocks will stop. Since board updates are paused,  however,  you
407              will  not see the move until you exit from Pause mode (or select
408              Forward).  This behavior is meant to simulate adjournment with a
409              sealed move.
410
411              If  you select Pause while you are observing or examining a game
412              on a chess server, you can step backward and forward in the cur‐
413              rent  history  of  the examined game without affecting the other
414              observers and examiners, and without having  your  display  jump
415              forward  to the latest position each time a move is made. Select
416              Pause again to reconnect yourself to the current  state  of  the
417              game on ICS.
418
419              If  you  select  `Pause'  while you are loading a game, the game
420              stops loading. You can load more  moves  manually  by  selecting
421              `Forward',  or  resume  automatic  loading  by selecting `Pause'
422              again.
423
424   Action Menu
425       Accept Accepts a pending match offer. If there is more than  one  offer
426              pending,  you  will  have  to  type  in  a more specific command
427              instead of using this menu choice.
428
429       Decline
430              Declines a pending offer (match, draw, adjourn, etc.). If  there
431              is  more than one offer pending, you will have to type in a more
432              specific command instead of using this menu choice.
433
434       Call Flag
435              Calls your opponent's flag, claiming a win on time, or  claiming
436              a draw if you are both out of time. You can also call your oppo‐
437              nent's flag by clicking on his clock or by pressing the keyboard
438              `t' key.
439
440       Draw   Offers  a  draw  to  your opponent, accepts a pending draw offer
441              from your opponent, or  claims  a  draw  by  repetition  or  the
442              50-move  rule, as appropriate. The `d' key is a keyboard equiva‐
443              lent.
444
445       Adjourn
446              Asks your opponent to agree to adjourning the current  game,  or
447              agrees to a pending adjournment offer from your opponent.
448
449       Abort  Asks  your  opponent  to  agree to aborting the current game, or
450              agrees to a pending abort offer from your opponent.  An  aborted
451              game ends immediately without affecting either player's rating.
452
453       Resign Resigns the game to your opponent. The shifted `R' key is a key‐
454              board equivalent.
455
456       Stop Observing
457              Ends your participation in observing a game, by issuing the  ICS
458              observe command with no arguments. ICS mode only.
459
460       Stop Examining
461              Ends  your participation in examining a game, by issuing the ICS
462              unexamine command. ICS mode only.
463
464       Adjudicate to White
465       Adjudicate to Black
466       Adjudicate Draw
467              Terminate an ongoing game in Two-Machines mode (including  match
468              mode),  with  as  result  a win for white, for black, or a draw,
469              respectively.  The PGN file  of  the  game  will  accompany  the
470              result string by the comment "user adjudication".
471
472   Step Menu
473       Backward
474              Steps  backward through a series of remembered moves.  The `[<]'
475              button and the `b' key are equivalents, as is turning the  mouse
476              wheel  towards you.  In addition, pressing the Control key steps
477              back one move, and releasing it steps forward again.
478
479              In most modes, `Backward' only lets you look back at  old  posi‐
480              tions;  it  does  not retract moves. This is the case if you are
481              playing against a chess engine, playing or observing a  game  on
482              an  ICS,  or loading a game.  If you select `Backward' in any of
483              these situations, you will not be allowed to  make  a  different
484              move.  Use  `Retract  Move' or `Edit Game' if you want to change
485              past moves.
486
487              If you are examining an ICS game,  the  behavior  of  `Backward'
488              depends  on  whether  XBoard  is in Pause mode. If Pause mode is
489              off, `Backward' issues the ICS backward command, which backs  up
490              everyone's  view  of the game and allows you to make a different
491              move. If Pause mode is on, `Backward' only backs up  your  local
492              view.
493
494       Forward
495              Steps  forward through a series of remembered moves (undoing the
496              effect of `Backward') or forward through a game file. The  `[>]'
497              button  and the `f' key are equivalents, as is turning the mouse
498              wheel away from you.
499
500              If you are examining  an  ICS  game,  the  behavior  of  Forward
501              depends  on  whether  XBoard  is in Pause mode. If Pause mode is
502              off, `Forward' issues  the  ICS  forward  command,  which  moves
503              everyone's  view  of the game forward along the current line. If
504              Pause mode is on, `Forward' only moves your local view  forward,
505              and  it  will not go past the position that the game was in when
506              you paused.
507
508       Back to Start
509              Jumps backward to the first remembered  position  in  the  game.
510              The `[<<]' button and the shifted `B' key are equivalents.
511
512              In  most  modes,  Back  to  Start only lets you look back at old
513              positions; it does not retract moves. This is the  case  if  you
514              are playing against a local chess engine, playing or observing a
515              game on a chess server, or loading a game. If you  select  `Back
516              to Start' in any of these situations, you will not be allowed to
517              make different moves. Use `Retract Move' or `Edit Game'  if  you
518              want to change past moves; or use Reset to start a new game.
519
520              If  you are examining an ICS game, the behavior of @samp{Back to
521              Start} depends on whether XBoard is in Pause mode. If Pause mode
522              is  off,  `Back  to Start' issues the ICS `backward 999999' com‐
523              mand, which backs up everyone's view of the game  to  the  start
524              and  allows  you  to  make different moves. If Pause mode is on,
525              @samp{Back to Start} only backs up your local view.
526
527       Forward to End
528              Jumps forward to the last remembered position in the  game.  The
529              `[>>]' button and the shifted `F' key are equivalents.
530
531              If  you are examining an ICS game, the behavior of @samp{Forward
532              to End} depends on whether XBoard is in  Pause  mode.  If  Pause
533              mode  is  off,  `Forward to End' issues the ICS `forward 999999'
534              command, which moves everyone's view of the game forward to  the
535              end  of  the current line. If Pause mode is on, `Forward to End'
536              only moves your local view forward, and it will not go past  the
537              position that the game was in when you paused.
538
539       Revert If  you  are examining an ICS game and Pause mode is off, issues
540              the ICS command `revert'.
541
542       Truncate Game
543              Discards all remembered moves of the  game  beyond  the  current
544              position.  Puts XBoard into `Edit Game' mode if it was not there
545              already.
546
547       Move Now
548              Forces the chess engine to move immediately. Chess  engine  mode
549              only.
550
551       Retract Move
552              Retracts  your  last move. In chess engine mode, you can do this
553              only after the chess engine has replied to  your  move;  if  the
554              chess  engine  is  still  thinking, use `Move Now' first. In ICS
555              mode, `Retract Move' issues the command `takeback 1'  or  `take‐
556              back  2'  depending  on  whether  it  is your opponent's move or
557              yours.
558
559   Options Menu
560       Flip View
561              Inverts your view of the chess board for  the  duration  of  the
562              current  game.  Starting a new game returns the board to normal.
563              The `v' key is a keyboard equivalent.
564
565       Adjudications
566              Pops up a sub-menu where you can enable or disable various adju‐
567              dications  that  XBoard can perform in engine-engine games.  You
568              can instruct XBoard to detect and terminate the game  on  check‐
569              mate  or stalemate, even if the engines would not do so, to ver‐
570              ify engine result claims (forfeiting  engines  that  make  false
571              claims),  rather  than  naively following the engine, to declare
572              draw on positions which can never be  won  for  lack  of  mating
573              material,  (e.g. KBK), or which are impossible to win unless the
574              opponent seeks its own demise (e.g. KBKN).  For these  adjudica‐
575              tions  to  work,  `Test  Legality' should be switched on.  It is
576              also possible to instruct XBoard to enforce a 50-move or 3-fold-
577              repeat  rule  and  automatically  declare  draw  (after  a user-
578              adjustable number of moves or repeats) even if the  engines  are
579              prepared  to  go on.  It is also possible to have XBoard declare
580              draw on games that seem to drag on forever, or adjudicate a loss
581              if both engines agree (for 3 consecutive moves) that one of them
582              is behind more than a user-adjustable score threshold.  For  the
583              latter  adjudication  to work, XBoard should be able to properly
584              understand the engine's scores. To facilitate  the  latter,  you
585              can  inform  xboard  here  if the engines report scores from the
586              viewpoint of white, or from that of their own color.
587
588       Engine Settings
589              Pops up a sub-menu where you can set some engine parameters com‐
590              mon  to  most  engines, such as hash-table size, tablebase cache
591              size, maximum number of processors that SMP engines can use, and
592              where  to  find  the  Polyglot adapter needed to run UCI engines
593              under XBoard. The feature that allows setting of  these  parame‐
594              ters  on  engines  is  new  since  XBoard  4.3.15,  so  not many
595              XBoard/WinBoard engines respond  to  it  yet,  but  UCI  engines
596              should.  It is also possible to specify a GUI opening book here,
597              i.e. an opening book that XBoard consults  for  any  position  a
598              playing  engine  gets in.  It then forces the engine to play the
599              book move, rather than to think up its own, if that position  is
600              found  in  the  book.  The book can switched on and off indepen‐
601              dently for either engine.
602
603       Time Control
604              Pops up a sub-menu where you can set the time-control parameters
605              interactively.   Allows  you  to select classical or incremental
606              time controls, set the moves per session, session duration,  and
607              time  increment.  Also allows specification of time-odds factors
608              for one or both engines.  If an engine is given a time-odds fac‐
609              tor  N, all time quota it gets, be it at the beginning of a ses‐
610              sion or through the time increment or fixed time per move,  will
611              be divided by N.
612
613       Always Queen
614              If  this  option  is off, XBoard brings up a dialog box whenever
615              you move a pawn to the last rank, asking what piece you want  to
616              promote it to. If the option is true, your pawns are always pro‐
617              moted to queens. Your opponent can still under-promote.
618
619       Animate Dragging
620              If Animate Dragging is on, while you are dragging a  piece  with
621              the  mouse,  an image of the piece follows the mouse cursor.  If
622              Animate Dragging is off, there is no visual feedback  while  you
623              are dragging a piece, but if Animate Moving is on, the move will
624              be animated when it is complete.
625
626       Animate Moving
627              If Animate Moving is on, all piece moves are animated.  An image
628              of  the  piece  is  shown  moving from the old square to the new
629              square when the move is completed (unless the move  was  already
630              animated  by  Animate  Dragging).   If  Animate Moving is off, a
631              moved piece instantly disappears from its old square  and  reap‐
632              pears on its new square when the move is complete.
633
634       Auto Comment
635              If  this  option  is  on,  any remarks made on ICS while you are
636              observing or playing a game are recorded as  a  comment  on  the
637              current  move.  This includes remarks made with the ICS commands
638              `say', `tell', `whisper',  and  `kibitz'.   Limitation:  remarks
639              that you type yourself are not recognized; XBoard scans only the
640              output from ICS, not the input you type to it.
641
642       Auto Flag
643              If this option is on and one player runs out of time before  the
644              other,  XBoard  will automatically call his flag, claiming a win
645              on time.  In ICS mode, Auto Flag will only call your  opponent's
646              flag,  not  yours, and the ICS may award you a draw instead of a
647              win if you have insufficient mating material.   In  local  chess
648              engine  mode,  XBoard may call either player's flag and will not
649              take material into account.
650
651       Auto Flip View
652              If the Auto Flip View option is on when you start  a  game,  the
653              board  will  be  automatically  oriented so that your pawns move
654              from the bottom of the window towards the top.
655
656       Auto Observe
657              If this option is on and you add a player to your `gnotify' list
658              on  ICS,  XBoard will automatically observe all of that player's
659              games, unless you are doing something else (such as observing or
660              playing a game of your own) when one starts.  The games are dis‐
661              played from the point of view of  the  player  on  your  gnotify
662              list;  that  is,  his  pawns  move from the bottom of the window
663              towards the top.  Exceptions:  If both players in a game are  on
664              your gnotify list, if your ICS `highlight' variable is set to 0,
665              or if the ICS you are using does not properly support  observing
666              from  Black's  point of view, you will see the game from White's
667              point of view.
668
669       Auto Raise Board
670              If this option is on, whenever a new game begins, the chessboard
671              window is deiconized (if necessary) and raised to the top of the
672              stack of windows.
673
674       Auto Save
675              If this option is true, at the end of every game XBoard  prompts
676              you for a file name and appends a record of the game to the file
677              you specify.  Disabled if the `saveGameFile' command-line option
678              is  set,  as  in  that case all games are saved to the specified
679              file.  See Load and Save options.
680
681       Blindfold
682              If this option is on, XBoard displays the  board  as  usual  but
683              does  not display pieces or move highlights.  You can still move
684              in the usual way (with the mouse  or  by  typing  moves  in  ICS
685              mode), even though the pieces are invisible.
686
687       Flash Moves
688              If  this  option  is on, whenever a move is completed, the moved
689              piece flashes.  The number of times  to  flash  is  set  by  the
690              flashCount  command-line option; it defaults to 3 if Flash Moves
691              is first turned on from the menu.
692
693              If you are playing a game on an ICS, the board  is  always  ori‐
694              ented  at the start of the game so that your pawns move from the
695              bottom of the window towards the top.  Otherwise,  the  starting
696              orientation is determined by the `flipView' command line option;
697              if it is false (the default), White's pawns move from bottom  to
698              top at the start of each game; if it is true, Black's pawns move
699              from bottom to top. See User interface options.
700
701       Get Move List
702              If this option is on, whenever XBoard receives the  first  board
703              of  a  new ICS game (or a different game from the one it is cur‐
704              rently displaying), it retrieves the list of past moves from the
705              ICS.   You  can  then  review  the  moves with the `Forward' and
706              `Backward' commands or save them with `Save  Game'.   You  might
707              want  to turn off this option if you are observing several blitz
708              games at once, to keep from wasting time and  network  bandwidth
709              fetching  the  move  lists  over  and  over.  When you turn this
710              option on from the menu, XBoard  immediately  fetches  the  move
711              list of the current game (if any).
712
713       Highlight Last Move
714              If Highlight Last Move is on, after a move is made, the starting
715              and ending squares remain highlighted. In  addition,  after  you
716              use  Backward  or Back to Start, the starting and ending squares
717              of the last move to be unmade are highlighted.
718
719       Move Sound
720              If this option is on, XBoard alerts you by playing a sound after
721              each  of  your  opponent's moves (or after every move if you are
722              observing a game on the Internet Chess Server).   The  sound  is
723              not  played after moves you make or moves read from a saved game
724              file. By default, the sound is the terminal bell,  but  on  some
725              systems  you  can  change it to a sound file using the soundMove
726              option; see below.
727
728              If you turn on this option when using XBoard with  the  Internet
729              Chess  Server,  you  will probably want to give the `set bell 0'
730              command to the ICS, since otherwise the ICS will ring the termi‐
731              nal  bell  after every move (not just yours). (The `.icsrc' file
732              is a good place for this; see ICS options.)
733
734       ICS Alarm
735              When this option is on, an alarm sound is played when your clock
736              counts  down  to  the icsAlarmTime (by default, 5 seconds) in an
737              ICS game.  For games with time controls that include  an  incre‐
738              ment,  the  alarm  will sound each time the clock counts down to
739              the icsAlarmTime.  By default, the alarm sound is  the  terminal
740              bell,  but  on  some  systems  you can change it to a sound file
741              using the soundIcsAlarm option; see below.
742
743       Old Save Style
744              If this option is off, XBoard saves games in PGN (portable  game
745              notation)  and positions in FEN (Forsythe-Edwards notation).  If
746              the option is on, a save style that  is  compatible  with  older
747              versions  of  XBoard is used instead.  The old position style is
748              more human-readable than FEN; the old game style has no particu‐
749              lar advantages.
750
751       Periodic Updates
752              If  this  option is off (or if you are using a chess engine that
753              does not support periodic updates),  the  analysis  window  will
754              only be updated when the analysis changes. If this option is on,
755              the Analysis Window will be updated every two seconds.
756
757       Ponder Next Move
758              If this option is off, the chess engine will think only when  it
759              is  on  move.   If  the option is on, the engine will also think
760              while waiting for you to make your move.
761
762       Popup Exit Message
763              If this option is on, when XBoard wants  to  display  a  message
764              just  before  exiting, it brings up a modal dialog box and waits
765              for you to click OK before  exiting.   If  the  option  is  off,
766              XBoard  prints  the message to standard error (the terminal) and
767              exits immediately.
768
769       Popup Move Errors
770              If this option is off, when you make an error in moving (such as
771              attempting an illegal move or moving the wrong color piece), the
772              error message is displayed in the message area.  If  the  option
773              is  on,  move  errors are displayed in small pop-up windows like
774              other errors.  You can dismiss an error pop-up either by  click‐
775              ing  its OK button or by clicking anywhere on the board, includ‐
776              ing down-clicking to start a move.
777
778       Premove
779              If this option is on while playing a game on  an  ICS,  you  can
780              register  your  next  planned move before it is your turn.  Move
781              the piece with the mouse in the ordinary way, and  the  starting
782              and ending squares will be highlighted with a special color (red
783              by default).  When it is your turn, if your registered  move  is
784              legal,  XBoard  will send it to ICS immediately; if not, it will
785              be ignored and you can make a different  move.   If  you  change
786              your  mind  about your premove, either make a different move, or
787              double-click on any piece to cancel the move entirely.
788
789       Quiet Play
790              If this option is on, XBoard will  automatically  issue  an  ICS
791              `set shout 0' command whenever you start a game and a `set shout
792              1' command whenever you finish one.  Thus, you will not be  dis‐
793              tracted by shouts from other ICS users while playing.
794
795       Show Coords
796              If  this  option  is  on,  XBoard displays algebraic coordinates
797              along the board's left and bottom edges.
798
799       Hide Thinking
800              If this option is off, the chess engine's notion  of  the  score
801              and  best line of play from the current position is displayed as
802              it is thinking. The score indicates how many pawns ahead (or  if
803              negative,  behind)  the  chess  engine  thinks it is. In matches
804              between two machines, the score is prefixed by  `W'  or  `B'  to
805              indicate  whether it is showing White's thinking or Black's, and
806              only the thinking of the engine that is on move is shown.
807
808       Test Legality
809              If this option is on, XBoard tests whether the moves you try  to
810              make  with  the  mouse  are legal and refuses to let you make an
811              illegal move.  Moves loaded from a file  with  `Load  Game'  are
812              also checked.  If the option is off, all moves are accepted, but
813              if a local chess engine or the ICS is active,  they  will  still
814              reject  illegal moves.  Turning off this option is useful if you
815              are playing a chess variant with  rules  that  XBoard  does  not
816              understand.   (Bughouse,  suicide,  and  wild variants where the
817              king may castle after starting on the d file are generally  sup‐
818              ported with Test Legality on.)
819
820   Help Menu
821       Info XBoard
822              Displays the XBoard documentation in info format.  For this fea‐
823              ture to work, you must have the GNU info  program  installed  on
824              your  system,  and the file `xboard.info' must either be present
825              in the current working directory, or have been installed by  the
826              `make install' command when you built XBoard.
827
828       Man XBoard
829              Displays  the XBoard documentation in man page format.  For this
830              feature to work, the file `xboard.6' must have been installed by
831              the `make install' command when you built XBoard, and the direc‐
832              tory it was placed in must be on the search path for  your  sys‐
833              tem's `man' command.
834
835       Hint   Displays a move hint from the chess engine.
836
837       Book   Displays  a list of possible moves from the chess engine's open‐
838              ing book.  The exact format depends on what chess engine you are
839              using.  With GNU Chess 4, the first column gives moves, the sec‐
840              ond column gives one possible response for each  move,  and  the
841              third  column shows the number of lines in the book that include
842              the move from the first column. If you select  this  option  and
843              nothing happens, the chess engine is out of its book or does not
844              support this feature.
845
846       About XBoard
847              Shows the current XBoard version number.
848
849   Other Shortcut Keys
850       Iconize
851              Pressing the `i' or `c' key iconizes XBoard. The graphical  icon
852              displays a white knight if it is White's move, or a black knight
853              if it is Black's move. If your X window  manager  displays  only
854              text  icons,  not graphical ones, check its documentation; there
855              is probably a way to enable graphical icons.  If you  get  black
856              and white reversed, we would like to hear about it; see Problems
857              below for instructions on how to report this problem.
858
859       You can add or remove shortcut keys using the X resources  `form.trans‐
860       lations'.  Here  is  an  example of what would go in your `.Xresources'
861       file:
862
863           XBoard*form.translations: \
864             Shift<Key>?: AboutGameProc() \n\
865             <Key>y: AcceptProc() \n\
866             <Key>n: DeclineProc() \n\
867             <Key>i: NothingProc()
868
869       Binding a key to `NothingProc' makes it do nothing, thus removing it as
870       a shortcut key. The XBoard commands that can be bound to keys are:
871
872           AbortProc, AboutGameProc, AboutProc, AcceptProc, AdjournProc,
873           AlwaysQueenProc, AnalysisModeProc, AnalyzeFileProc,
874           AnimateDraggingProc, AnimateMovingProc, AutobsProc, AutoflagProc,
875           AutoflipProc, AutoraiseProc, AutosaveProc, BackwardProc,
876           BlindfoldProc, BookProc, CallFlagProc, CopyGameProc, CopyPositionProc,
877           DebugProc, DeclineProc, DrawProc, EditCommentProc, EditGameProc,
878           EditPositionProc, EditTagsProc, EnterKeyProc, FlashMovesProc,
879           FlipViewProc, ForwardProc, GetMoveListProc, HighlightLastMoveProc,
880           HintProc, Iconify, IcsAlarmProc, IcsClientProc, IcsInputBoxProc,
881           InfoProc, LoadGameProc, LoadNextGameProc, LoadNextPositionProc,
882           LoadPositionProc, LoadPrevGameProc, LoadPrevPositionProc,
883           LoadSelectedProc, MachineBlackProc, MachineWhiteProc, MailMoveProc,
884           ManProc, MoveNowProc, MoveSoundProc, NothingProc, OldSaveStyleProc,
885           PasteGameProc, PastePositionProc, PauseProc, PeriodicUpdatesProc,
886           PonderNextMoveProc, PopupExitMessageProc, PopupMoveErrorsProc,
887           PremoveProc, QuietPlayProc, QuitProc, ReloadCmailMsgProc,
888           ReloadGameProc, ReloadPositionProc, RematchProc, ResetProc,
889           ResignProc, RetractMoveProc, RevertProc, SaveGameProc,
890           SavePositionProc, ShowCoordsProc, ShowGameListProc, ShowThinkingProc,
891           StopExaminingProc, StopObservingProc, TestLegalityProc, ToEndProc,
892           ToStartProc, TrainingProc, TruncateGameProc, and TwoMachinesProc.
893
894

OPTIONS

896       This section documents the command-line options to XBoard.  You can set
897       these options in two ways: by typing them on the shell command line you
898       use  to  start  XBoard, or by setting them as X resources (typically in
899       your `.Xresources' file).  Many of the options cannot be changed  while
900       XBoard  is  running;  others set the initial state of items that can be
901       changed with the Options menu.
902
903       Most of the options have both a long name and a short name. To  turn  a
904       boolean  option  on  or off from the command line, either give its long
905       name followed by the value true or false (`-longOptionName  true'),  or
906       give  just  the short name to turn the option on (`-opt'), or the short
907       name preceded by `x' to turn the option off (`-xopt'). For options that
908       take strings or numbers as values, you can use the long or short option
909       names interchangeably.
910
911       Each option corresponds to an X resource with the same name, so if  you
912       like, you can set options in your `.Xresources' file or in a file named
913       `XBoard' in your home directory.  For options that have two names,  the
914       longer  one is the name of the corresponding X resource; the short name
915       is not recognized.  To turn  a  boolean  option  on  or  off  as  an  X
916       resource,  give  its  long  name  followed  by  the value true or false
917       (`XBoard*longOptionName: true').
918
919
920   Chess Engine Options
921       -tc or -timeControl minutes[:seconds]
922              Each player begins with  his  clock  set  to  the  `timeControl'
923              period.  Default: 5 minutes.  The additional options `movesPerS‐
924              ession' and `timeIncrement' are mutually exclusive.
925
926       -mps or -movesPerSession moves
927              When both players  have  made  `movesPerSession'  moves,  a  new
928              `timeControl'  period  is  added  to  both  clocks.  Default: 40
929              moves.
930
931       -inc or -timeIncrement seconds
932              If this  option  is  specified,  `movesPerSession'  is  ignored.
933              Instead,  after  each player's move, `timeIncrement' seconds are
934              added to his clock.  Use `-inc 0' if you  want  to  require  the
935              entire  game  to  be played in one `timeControl' period, with no
936              increment.  Default: -1, which specifies `movesPerSession' mode.
937
938       -clock/-xclock or -clockMode true/false
939              Determines whether or not to display the chess clocks. If clock‐
940              Mode is false, the clocks are not shown, but the side that is to
941              play next is still highlighted.  Also,  unless  `searchTime'  is
942              set,  the  chess  engine still keeps track of the clock time and
943              uses it to determine how fast to make its moves.
944
945       -st or -searchTime minutes[:seconds]
946              Tells the chess engine to spend at most the given amount of time
947              searching  for each of its moves. Without this option, the chess
948              engine chooses its search time based on the number of moves  and
949              amount  of  time remaining until the next time control.  Setting
950              this option also sets clockMode to false.
951
952       -depth or -searchDepth number
953              Tells the chess engine to look ahead at most the given number of
954              moves  when  searching  for a move to make. Without this option,
955              the chess engine chooses its search depth based on the number of
956              moves  and amount of time remaining until the next time control.
957              With the option, the engine will cut off its search early if  it
958              reaches the specified depth.
959
960       -firstNPS number
961       -secondNPS number
962              Tells the chess engine to use an internal time standard based on
963              its node count, rather then wall-clock time, to make its  timing
964              decisions.   The  time  in virtual seconds should be obtained by
965              dividing the node count through the given number, like the  num‐
966              ber  was  a  rate  in  nodes per second.  Xboard will manage the
967              clocks in accordance with this, relying on the number  of  nodes
968              reported by the engine in its thinking output. If the given num‐
969              ber equals zero, it can obviously not be used to  convert  nodes
970              to  seconds,  and  the  time  reported  by the engine is used to
971              decrement the XBoard clock in stead. The engine is  supposed  to
972              report in CPU time it uses, rather than wall-clock time, in this
973              mode. This option can  provide  fairer  conditions  for  engine-
974              engine  matches  on  heavily  loaded machines, or with very fast
975              games (where the wall clock is too inaccurate).   `showThinking'
976              must be on for this option to work. Default: -1 (off).  Not many
977              engines might support this yet!
978
979       -firstTimeOdds factor
980       -secondTimeOdds factor
981              Reduces the time given to the mentioned engine by the given fac‐
982              tor.   If pondering is off, the effect is indistinguishable from
983              what would happen if the engine was running on an n-times slower
984              machine. Default: 1.
985
986       -timeOddsMode mode
987              This  option  determines  how  the  case  is  handled where both
988              engines have a time-odds handicap.  If mode=1, the  engine  that
989              gets  the  most time will always get the nominal time, as speci‐
990              fied by the time-control options, and  its  opponent's  time  is
991              renormalized  accordingly.   If  mode=0,  both play with reduced
992              time. Default: 0.
993
994       -hideThinkingFromHuman true/false
995              Controls the Hide Thinking option. See  Options  Menu.  Default:
996              true.   (Replaces  the Show-Thinking option of older xboard ver‐
997              sions.)
998
999       -thinking/-xthinking or -showThinking true/false
1000              Forces the engine to send thinking output to xboard.  Used to be
1001              the  only  way  to  control  if thinking output was displayed in
1002              older xboard versions, but as the thinking output in xboard  4.3
1003              is  also  used for several other purposes (adjudication, storing
1004              in PGN file) the display of it is  now  controlled  by  the  new
1005              option Hide Thinking. See Options Menu. Default: false.  (But if
1006              xboard needs the thinking output for some purpose, it makes  the
1007              engine send it despite the setting of this option.)
1008
1009       -ponder/-xponder or -ponderNextMove true/false
1010              Sets  the  Ponder  Next  Move  menu  option.  See  Options Menu.
1011              Default: true.
1012
1013       -smpCores number
1014              Specifies the maximum number of CPUs an SMP engine is allowed to
1015              use.   Only  works for engines that support the XBoard/WinBoard-
1016              protocol cores feature.
1017
1018       -mg or -matchGames n
1019              Automatically runs an n-game match between  two  chess  engines,
1020              with  alternating  colors.   If the `loadGameFile' or `loadPosi‐
1021              tionFile' option is set, XBoard starts each game with the  given
1022              opening  moves or the given position; otherwise, the games start
1023              with the standard initial chess position.  If the `saveGameFile'
1024              option  is  set,  a move record for the match is appended to the
1025              specified file. If the `savePositionFile'  option  is  set,  the
1026              final  position reached in each game of the match is appended to
1027              the specified file. When the match is over, XBoard displays  the
1028              match score and exits. Default: 0 (do not run a match).
1029
1030       -mm/-xmm or -matchMode true/false
1031              Setting   `matchMode'   to   true   is   equivalent  to  setting
1032              `matchGames' to 1.
1033
1034       -sameColorGames n
1035              Automatically runs an n-game match between  two  chess  engines,
1036              without  alternating  colors.  Otherwise the same applies as for
1037              the `-matchGames' option, over which it takes precedence if both
1038              are specified. (See there.)  Default: 0 (do not run a match).
1039
1040       -fcp or -firstChessProgram program
1041              Name of first chess engine.  Default: `Fairy-Max'.
1042
1043       -scp or -secondChessProgram program
1044              Name  of  second chess engine, if needed.  A second chess engine
1045              is started only in Two Machines (match) mode.  Default:  `Fairy-
1046              Max'.
1047
1048       -fb/-xfb or -firstPlaysBlack true/false
1049              In  games  between two chess engines, firstChessProgram normally
1050              plays white.  If this option is  true,  firstChessProgram  plays
1051              black.   In  a  multi-game match, this option affects the colors
1052              only for the first game;  they  still  alternate  in  subsequent
1053              games.
1054
1055       -fh or -firstHost host
1056       -sh or -secondHost host
1057              Hosts  on  which  the  chess engines are to run. The default for
1058              each is `localhost'. If you specify another  host,  XBoard  uses
1059              `rsh'  to run the chess engine there. (You can substitute a dif‐
1060              ferent remote shell program  for  rsh  using  the  `remoteShell'
1061              option described below.)
1062
1063       -fd or -firstDirectory dir
1064       -sd or -secondDirectory dir
1065              Working  directories  in  which the chess engines are to be run.
1066              The default is "", which means to run the chess  engine  in  the
1067              same  working  directory  as  XBoard  itself.  (See the CHESSDIR
1068              environment variable.)  This option is effective only  when  the
1069              chess engine is being run on the local host; it does not work if
1070              the engine is run remotely using the -fh or -sh option.
1071
1072       -initString string
1073       -secondInitString string
1074              The string that is sent to initialize each chess  engine  for  a
1075              new game.  Default:
1076
1077                  new
1078                  random
1079
1080              Setting this option from the command line is tricky, because you
1081              must type in real newline characters, including one at the  very
1082              end.  In most shells you can do this by entering a `\' character
1083              followed by a newline. It is easier to set the option from  your
1084              `.Xresources'  file;  in that case you can include the character
1085              sequence `\n' in the string, and it will be converted to a  new‐
1086              line.
1087
1088              If you change this option, don't remove the `new' command; it is
1089              required by all chess engines to start a new game.
1090
1091              You can remove the `random' command if you  like;  including  it
1092              causes  GNU  Chess 4 to randomize its move selection slightly so
1093              that it doesn't play the same moves in every game.  Even without
1094              `random',  GNU  Chess  4 randomizes its choice of moves from its
1095              opening book.  Many other  chess  engines  ignore  this  command
1096              entirely and always (or never) randomize.
1097
1098              You  can  also  try adding other commands to the initString; see
1099              the documentation of the chess engine you are using for details.
1100
1101       -firstComputerString string
1102       -secondComputerString string
1103              The string that is sent to the chess engine if its  opponent  is
1104              another  computer  chess  engine.   The default is `computer\n'.
1105              Probably the only useful alternative is the empty  string  (`'),
1106              which  keeps  the engine from knowing that it is playing another
1107              computer.
1108
1109       -reuse/-xreuse or -reuseFirst true/false
1110       -reuse2/-xreuse2 or -reuseSecond true/false
1111              If the option is false, XBoard kills off the chess engine  after
1112              every game and starts it again for the next game.  If the option
1113              is true (the default), XBoard starts the chess engine only  once
1114              and  uses  it repeatedly to play multiple games.  Some old chess
1115              engines may not work properly when reuse is turned on, but  oth‐
1116              erwise games will start faster if it is left on.
1117
1118       -firstProtocolVersion version-number
1119       -secondProtocolVersion version-number
1120              This option specifies which version of the chess engine communi‐
1121              cation protocol to use.  By default, version-number  is  2.   In
1122              version  1,  the  "protover"  command is not sent to the engine;
1123              since version 1 is a subset of version 2, nothing else  changes.
1124              Other values for version-number are not supported.
1125
1126       -firstScoreAbs true/false
1127       -secondScoreAbs true/false
1128              If this option is set, the score reported by the engine is taken
1129              to be that in favor of white, even when the engine plays  black.
1130              Important  when  XBoard  uses the score for adjudications, or in
1131              PGN reporting.
1132
1133       -niceEngines priority
1134              This option allows you to lower the priority of the engine  pro‐
1135              cesses,  so that the generally insatiable hunger for CPU time of
1136              chess engines does not interfere so much with  smooth  operation
1137              of  XBoard  (or the rest of your system).  Negative values could
1138              increase the engine priority, which is not recommended.
1139
1140       -firstOptions string
1141       -secondOptions string
1142              The  given  string  is  a  comma-separated   list   of   (option
1143              name=option   value)   pairs,   like   the   following  example:
1144              "style=Karpov,blunder rate=0".  If an option  announced  by  the
1145              engine   at   startup   through  the  feature  commands  of  the
1146              XBoard/WinBoard protocol matches one of the option  names  (i.e.
1147              "style"  or  "blunder rate"), it would be set to the given value
1148              (i.e. "Karpov" or 0) through a corresponding option  command  to
1149              the  engine.   This provided that the type of the value (text or
1150              numeric) matches as well.
1151
1152       -firstNeedsNoncompliantFEN string
1153       -secondNeedsNoncompliantFEN string
1154              The castling rights and e.p. fields of the FEN sent to the  men‐
1155              tioned  engine with the setboard command will be replaced by the
1156              given string. This can for instance be used to run engines  that
1157              do not understand Chess960 FENs in variant fischerandom, to make
1158              them at least understand the opening position,  through  setting
1159              the  string  to  "KQkq  -". (Note you also have to give the e.p.
1160              field!)  Other possible applications are to provide work-arounds
1161              for  engines  that want to see castling and e.p. fields in vari‐
1162              ants that do not have  castling  or  e.p.   (shatranj,  courier,
1163              xiangqi,  shogi) so that XBoard would normally omit them (string
1164              = "- -"), or to add variant-specific fields  that  are  not  yet
1165              supported  by  XBoard  (e.g. to indicate the number of checks in
1166              3check).
1167
1168   UCI + WB Engine Settings
1169       -fUCI or -firstIsUCI true/false
1170       -sUCI or -secondIsUCI true/false
1171              Indicates if the mentioned engine  executable  file  is  an  UCI
1172              engine,  and  should be run with the aid of the Polyglot adapter
1173              rather than directly.  Xboard  will  then  pass  the  other  UCI
1174              options  and  engine  name  to Polyglot through a .ini temporary
1175              file created for the purpose.
1176
1177       -PolyglotDir filename
1178              Gives the name of the directory in which  the  Polyglot  adapter
1179              for     UCI     engines    expects    its    files.     Default:
1180              "/usr/local/share/polyglot".
1181
1182       -usePolyglotBook true/false
1183              Specifies if the Polyglot book should be used.
1184
1185       -PolyglotBook filename
1186              Gives the filename of the opening book that Polyglot should use.
1187              From  XBoard 4.3.15 on, native XBoard/WinBoard engines will also
1188              use the opening book specified here, provided the  `usePolyglot‐
1189              Book' option is set to true, and the option `firstHasOwnBookUCI'
1190              or `secondHasOwnBookUCI' applying to the engine is set to false.
1191              The  engine  will  be  kept in force mode as long as the current
1192              position is in book, and XBoard will select the book  moves  for
1193              it. Default "".
1194
1195       -fNoOwnBookUCI or -firstXBook or -firstHasOwnBookUCI true/false
1196       -sNoOwnBookUCI or -secondXBook or -secondHasOwnBookUCI true/false
1197              Indicates  if  the  mentioned engine has its own opening book it
1198              should play from, rather than using the  external  book  through
1199              XBoard. Default: false.
1200
1201       -defaultHashSize n
1202              Sets  the  size  of the hash table to n MegaBytes. Together with
1203              the EGTB cache size this number is also used  to  calculate  the
1204              memory  setting  of XBoard/WinBoard engines, for those that sup‐
1205              port  the  memory  feature  of  the  XBoard/WinBoard   protocol.
1206              Default: 64.
1207
1208       -defaultCacheSizeEGTB n
1209              Sets  the  size  of the EGTB cache to n MegaBytes. Together with
1210              the hash-table size this number is also used  to  calculate  the
1211              memory  setting  of XBoard/WinBoard engines, for those that sup‐
1212              port  the  memory  feature  of  the  XBoard/WinBoard   protocol.
1213              Default: 4.
1214
1215       -defaultPathEGTB filename
1216              Gives  the  name  of the directory where the end-game tablebases
1217              are     installed,     for      UCI      engines.       Default:
1218              "/usr/local/share/egtb".
1219
1220       -egtFormats string
1221              Specifies  which  end-game tables are installed on the computer,
1222              and where.  The argument is a  comma-separated  list  of  format
1223              specifications,  each specification consisting of a format name,
1224              a   colon,   and   a   directory   path   name,    e.g.    "nal‐
1225              imov:/usr/local/share/egtb".  If the name part matches that of a
1226              format that the  engine  requests  through  a  feature  command,
1227              xboard  will  relay  the path name for this format to the engine
1228              through an egtpath command.  One egtpath command for each match‐
1229              ing  format  will  be  sent.   Popular formats are "nalimov" DTM
1230              tablebases and "scorpio" bitbases.  Default: "".
1231
1232   ICS options
1233       -ics/-xics or -internetChessServerMode true/false
1234              Connect with an Internet Chess Server to play chess against  its
1235              other  users,  observe  games  they are playing, or review games
1236              that have recently finished. Default: false.
1237
1238       -icshost or -internetChessServerHost host
1239              The Internet host name or address of the chess server to connect
1240              to  when in ICS mode. Default: `chessclub.com'.  Another popular
1241              chess server to try is `freechess.org'.  If  your  site  doesn't
1242              have  a  working  Internet  name server, try specifying the host
1243              address in numeric form.  You  may  also  need  to  specify  the
1244              numeric  address  when using the icshelper option with timestamp
1245              or timeseal (see below).
1246
1247       -icsport or -internetChessServerPort port-number
1248              The port number to use when connecting to a chess server in  ICS
1249              mode. Default: 5000.
1250
1251       -icshelper or -internetChessServerHelper prog-name
1252              An  external  helper  program used to communicate with the chess
1253              server.  You would set it to "timestamp" for ICC (chessclub.com)
1254              or "timeseal" for FICS (freechess.org), after obtaining the cor‐
1255              rect version of timestamp or timeseal for  your  computer.   See
1256              "help  timestamp"  on  ICC  and  "help  timeseal" on FICS.  This
1257              option is shorthand for `-useTelnet -telnetProgram program'.
1258
1259       -telnet/-xtelnet or -useTelnet true/false
1260              This option is poorly named; it should be called useHelper.   If
1261              set  to  true, it instructs XBoard to run an external program to
1262              communicate with the Internet Chess Server.  The program to  use
1263              is  given  by  the telnetProgram option.  If the option is false
1264              (the default), XBoard opens a TCP socket and uses its own inter‐
1265              nal  implementation  of  the telnet protocol to communicate with
1266              the ICS. See Firewalls.
1267
1268       -telnetProgram prog-name
1269              This option is poorly named; it should be called  helperProgram.
1270              It  gives  the  name  of  the telnet program to be used with the
1271              `gateway' and `useTelnet' options.  The default is `telnet'. The
1272              telnet   program   is   invoked   with   the  value  of  `inter‐
1273              netChessServerHost' as its  first  argument  and  the  value  of
1274              `internetChessServerPort'  as  its  second  argument.  See Fire‐
1275              walls.
1276
1277       -gateway host-name
1278              If this option is set to a host name, XBoard  communicates  with
1279              the  Internet Chess Server by using `rsh' to run the `telnetPro‐
1280              gram' on the given host,  instead  of  using  its  own  internal
1281              implementation of the telnet protocol. You can substitute a dif‐
1282              ferent remote shell program for `rsh'  using  the  `remoteShell'
1283              option described below.  See Firewalls.
1284
1285       -internetChessServerCommPort or -icscomm dev-name
1286              If  this option is set, XBoard communicates with the ICS through
1287              the given character I/O device instead of opening a TCP  connec‐
1288              tion.   Use this option if your system does not have any kind of
1289              Internet connection itself (not even a SLIP or PPP  connection),
1290              but you do have dial-up access (or a hardwired terminal line) to
1291              an Internet service provider from which you can  telnet  to  the
1292              ICS.
1293
1294              The  support  for  this option in XBoard is minimal. You need to
1295              set all communication parameters and tty modes before you  enter
1296              XBoard.
1297
1298              Use a script something like this:
1299
1300                  stty raw -echo 9600 > /dev/tty00
1301                  xboard -ics -icscomm /dev/tty00
1302
1303              Here  replace `/dev/tty00' with the name of the device that your
1304              modem is connected to.  You  might  have  to  add  several  more
1305              options to these stty commands. See the man pages for `stty' and
1306              `tty' if you run into problems. Also, on many systems stty works
1307              on its standard input instead of standard output, so you have to
1308              use `<' instead of `>'.
1309
1310              If you are using linux, try  starting  with  the  script  below.
1311              Change it as necessary for your installation.
1312
1313                  #!/bin/sh -f
1314                  # configure modem and fire up XBoard
1315
1316                  # configure modem
1317                  (
1318                    stty 2400 ; stty raw ; stty hupcl ; stty -clocal
1319                    stty ignbrk ; stty ignpar ; stty ixon ; stty ixoff
1320                    stty -iexten ; stty -echo
1321                  ) < /dev/modem
1322                  xboard -ics -icscomm /dev/modem
1323
1324              After  you  start XBoard in this way, type whatever commands are
1325              necessary to dial out to your  Internet  provider  and  log  in.
1326              Then  telnet  to ICS, using a command like `telnet chessclub.com
1327              5000'.  Important: See the paragraph below about  extra  echoes,
1328              in Limitations.
1329
1330       -icslogon or -internetChessServerLogonScript file-name
1331              Whenever  XBoard  connects  to  the Internet Chess Server, if it
1332              finds a file with the name given in this option,  it  feeds  the
1333              file's contents to the ICS as commands. The default file name is
1334              `.icsrc'.  Usually the first two lines of  the  file  should  be
1335              your  ICS  user  name  and  password.  The file can be either in
1336              $CHESSDIR, in XBoard's working directory if CHESSDIR is not set,
1337              or in your home directory.
1338
1339       -msLoginDelay delay
1340              If  you  experience  trouble logging on to an ICS when using the
1341              `-icslogon' option, inserting some delay between  characters  of
1342              the logon script may help. This option adds `delay' milliseconds
1343              of delay between characters. Good values to try are 100 and 250.
1344
1345       -icsinput/-xicsinput or -internetChessServerInputBox true/false
1346              Sets the ICS Input Box menu  option.  See  Mode  Menu.  Default:
1347              false.
1348
1349       -autocomm/-xautocomm or -autoComment true/false
1350              Sets  the  Auto  Comment menu option. See Options Menu. Default:
1351              false.
1352
1353       -autoflag/-xautoflag or -autoCallFlag true/false
1354              Sets the Auto Flag menu  option.   See  Options  Menu.  Default:
1355              false.
1356
1357       -autobs/-xautobs or -autoObserve true/false
1358              Sets  the  Auto Observe menu option.  See Options Menu. Default:
1359              false.
1360
1361       -autoKibitz
1362              Enables kibitzing of the engines last  thinking  output  (depth,
1363              score,  time,  speed,  PV)  before it moved to the ICS, in zippy
1364              mode. The option `showThinking' must be  switched  on  for  this
1365              option  to  work.  Also diverts similar kibitz information of an
1366              opponent engine that is playing  you  through  the  ICS  to  the
1367              engine-output window, as if the engine was playing locally.
1368
1369       -moves/-xmoves or -getMoveList true/false
1370              Sets the Get Move List menu option.  See Options Menu.  Default:
1371              true.
1372
1373       -alarm/-xalarm or -icsAlarm true/false
1374              Sets the ICS Alarm menu  option.   See  Options  Menu.  Default:
1375              true.
1376
1377       -icsAlarmTime ms
1378              Sets  the  time  in  milliseconds for the ICS Alarm menu option.
1379              See Options Menu. Default: 5000.
1380
1381       lowTimeWarning true/false
1382              Controls a color change of the board as a warning your  time  is
1383              running out.  See Options Menu. Default: false.
1384
1385       -pre/-xpre or -premove true/false
1386              Sets the Premove menu option. See Options Menu. Default: true.
1387
1388       -quiet/-xquiet or -quietPlay true/false
1389              Sets  the  Quiet  Play menu option.  See Options Menu.  Default:
1390              false.
1391
1392       -colorizeMessages or -colorize
1393              Setting colorizeMessages to true tells XBoard  to  colorize  the
1394              messages received from the ICS.  Colorization works only if your
1395              xterm supports ISO 6429 escape sequences for changing text  col‐
1396              ors.
1397
1398       -colorShout foreground,background,bold
1399       -colorSShout foreground,background,bold
1400       -colorChannel1 foreground,background,bold
1401       -colorChannel foreground,background,bold
1402       -colorKibitz foreground,background,bold
1403       -colorTell foreground,background,bold
1404       -colorChallege foreground,background,bold
1405       -colorRequest foreground,background,bold
1406       -colorSeek foreground,background,bold
1407       -colorNormal foreground,background,bold
1408              These  options set the colors used when colorizing ICS messages.
1409              All ICS messages are  grouped  into  one  of  these  categories:
1410              shout,  sshout,  channel  1,  other channel, kibitz, tell, chal‐
1411              lenge, request (including abort, adjourn, draw, pause, and take‐
1412              back), or normal (all other messages).
1413
1414              Each foreground or background argument can be one of the follow‐
1415              ing: black, red, green, yellow, blue, magenta, cyan,  white,  or
1416              default.  Here ``default'' means the default foreground or back‐
1417              ground color of your xterm.  Bold can be 1 or 0.  If  background
1418              is  omitted,  ``default''  is  assumed; if bold is omitted, 0 is
1419              assumed.
1420
1421              Here is an example of how to  set  the  colors  in  your  `.Xre‐
1422              sources'  file.   The  colors shown here are the default values;
1423              you will get them if you turn `-colorize' on without  specifying
1424              your own colors.
1425
1426                  xboard*colorizeMessages: true
1427                  xboard*colorShout: green
1428                  xboard*colorSShout: green, black, 1
1429                  xboard*colorChannel1: cyan
1430                  xboard*colorChannel: cyan, black, 1
1431                  xboard*colorKibitz: magenta, black, 1
1432                  xboard*colorTell: yellow, black, 1
1433                  xboard*colorChallenge: red, black, 1
1434                  xboard*colorRequest: red
1435                  xboard*colorSeek: blue
1436                  xboard*colorNormal: default
1437
1438       -soundProgram progname
1439              If  this  option  is  set  to  a  sound-playing  program that is
1440              installed and working on your  system,  XBoard  can  play  sound
1441              files when certain events occur, listed below.  The default pro‐
1442              gram name is "play".  If any of the sound options is set to "$",
1443              the  event  rings the terminal bell by sending a ^G character to
1444              standard output, instead of playing a sound file.  If an  option
1445              is  set  to  the  empty  string  "", no sound is played for that
1446              event.
1447
1448       -soundShout filename
1449       -soundSShout filename
1450       -soundChannel filename
1451       -soundKibitz filename
1452       -soundTell filename
1453       -soundChallenge filename
1454       -soundRequest filename
1455       -soundSeek filename
1456              These sounds are triggered in the same way as  the  colorization
1457              events described above.  They all default to "", no sound.  They
1458              are played only if the colorizeMessages is on.
1459
1460       -soundMove filename
1461              This sound is used by the Move Sound menu option.  Default: "$".
1462
1463       -soundIcsAlarm filename
1464              This sound is used by the ICS Alarm menu option.  Default: "$".
1465
1466       -soundIcsWin filename
1467              This sound is played when you win an ICS game.  Default: ""  (no
1468              sound).
1469
1470       -soundIcsLoss filename
1471              This sound is played when you lose an ICS game.  Default: "" (no
1472              sound).
1473
1474       -soundIcsDraw filename
1475              This sound is played when you draw an ICS game.  Default: "" (no
1476              sound).
1477
1478       -soundIcsUnfinished filename
1479              This sound is played when an ICS game that you are participating
1480              in is aborted,  adjourned,  or  otherwise  ends  inconclusively.
1481              Default: "" (no sound).
1482
1483              Here  is  an  example  of  how  to set the sounds in your `.Xre‐
1484              sources' file:
1485
1486                  xboard*soundShout: shout.wav
1487                  xboard*soundSShout: sshout.wav
1488                  xboard*soundChannel1: channel1.wav
1489                  xboard*soundChannel: channel.wav
1490                  xboard*soundKibitz: kibitz.wav
1491                  xboard*soundTell: tell.wav
1492                  xboard*soundChallenge: challenge.wav
1493                  xboard*soundRequest: request.wav
1494                  xboard*soundSeek: seek.wav
1495                  xboard*soundMove: move.wav
1496                  xboard*soundIcsWin: win.wav
1497                  xboard*soundIcsLoss: lose.wav
1498                  xboard*soundIcsDraw: draw.wav
1499                  xboard*soundIcsUnfinished: unfinished.wav
1500                  xboard*soundIcsAlarm: alarm.wav
1501
1502   Load and Save options
1503       -lgf or -loadGameFile file
1504       -lgi or -loadGameIndex index
1505              If the `loadGameFile' option is set, XBoard loads the  specified
1506              game  file  at startup. The file name `-' specifies the standard
1507              input. If there is more than one game in the file,  XBoard  pops
1508              up  a  menu  of the available games, with entries based on their
1509              PGN (Portable  Game  Notation)  tags.   If  the  `loadGameIndex'
1510              option  is  set to `N', the menu is suppressed and the N th game
1511              found in the file is loaded immediately.  The menu is also  sup‐
1512              pressed if `matchMode' is enabled or if the game file is a pipe;
1513              in these cases the first game in the file is loaded immediately.
1514              Use  the `pxboard' shell script provided with XBoard if you want
1515              to pipe in files containing multiple games  and  still  see  the
1516              menu.  If the loadGameIndex specifies an index -1, this triggers
1517              auto-increment of the index in  `matchMode',  which  means  that
1518              after  every  game the index is incremented by one, causing each
1519              game of the match to be played from the next game in  the  file.
1520              Similarly,  specifying  an index value of -2 causes the index to
1521              be incremented every two games, so that each game in the file is
1522              used  twice  (with  reversed  colors).  The `rewindIndex' option
1523              causes the index to be reset to the first game of the file  when
1524              it has reached a specified value.
1525
1526       -rewindIndex n
1527              Causes  a position file or game file to be rewound to its begin‐
1528              ning after n positions or games in  auto-increment  `matchMode'.
1529              See  `loadPositionIndex'  and  `loadGameIndex'.   default: 0 (no
1530              rewind).
1531
1532       -td or -timeDelay seconds
1533              Time delay between moves during `Load Game'. Fractional  seconds
1534              are  allowed;  try  `-td  0.4'.  A  time delay value of -1 tells
1535              XBoard not to step through game files automatically. Default:  1
1536              second.
1537
1538       -sgf or -saveGameFile file
1539              If  this  option  is  set, XBoard appends a record of every game
1540              played to the specified file. The file name  `-'  specifies  the
1541              standard output.
1542
1543       -autosave/-xautosave or -autoSaveGames true/false
1544              Sets  the  Auto  Save  menu option.  See Options Menu.  Default:
1545              false.  Ignored if `saveGameFile' is set.
1546
1547       -lpf or -loadPositionFile file
1548       -lpi or -loadPositionIndex index
1549              If the `loadPositionFile' option is set, XBoard loads the speci‐
1550              fied  position  file at startup. The file name `-' specifies the
1551              standard input. If the `loadPositionIndex' option is set  to  N,
1552              the  Nth  position  found  in  the file is loaded; otherwise the
1553              first position is loaded.  If the loadPositionIndex specifies an
1554              index  -1,  this triggers auto-increment of the index in `match‐
1555              Mode', which means that after every game  the  index  is  incre‐
1556              mented  by one, causing each game of the match to be played from
1557              the next position in the file. Similarly,  specifying  an  index
1558              value  of -2 causes the index to be incremented every two games,
1559              so that each position in  the  file  is  used  twice  (with  the
1560              engines  playing  opposite  colors).   The  `rewindIndex' option
1561              causes the index to be reset to the first position of  the  file
1562              when it has reached a specified value.
1563
1564       -spf or -savePositionFile file
1565              If this option is set, XBoard appends the final position reached
1566              in every game played to the specified file. The  file  name  `-'
1567              specifies the standard output.
1568
1569       -pgnExtendedInfo true/false
1570              If  this  option is set, XBoard saves depth, score and time used
1571              for each move that the engine found as  a  comment  in  the  PGN
1572              file.  Default: false.
1573
1574       -pgnEventHeader string
1575              Sets  the  name  used  in the PGN event tag to string.  Default:
1576              "Computer Chess Game".
1577
1578       -saveOutOfBookInfo true/false
1579              Include the information on how the engine(s)  game  out  of  its
1580              opening book in a special 'annotator' tag with the PGN file.
1581
1582       -oldsave/-xoldsave or -oldSaveStyle true/false
1583              Sets  the  Old  Save  Style  menu  option.   See  Options  Menu.
1584              Default: false.
1585
1586       -gameListTags string
1587              The character string lists the PGN tags that should  be  printed
1588              in  the  Game List, and their order. The meaning of the codes is
1589              e=event, s=site, d=date, o=round, p=players,  r=result,  w=white
1590              Elo, b=black Elo, t=time control, v=variant, a=out-of-book info.
1591              Default: "eprd"
1592
1593   User interface options
1594       -display
1595       -geometry
1596       -iconic
1597              These and most other standard Xt options are accepted.
1598
1599       -noGUI Suppresses all GUI functions of XBoard (to  speed  up  automated
1600              ultra-fast  engine-engine games, which you don’t want to watch).
1601              There will be no board or clock updates, no printing  of  moves,
1602              and no update of the icon on the task bar in this mode.
1603
1604       -movesound/-xmovesound or -ringBellAfterMoves true/false
1605              Sets  the  Move  Sound menu option.  See Options Menu.  Default:
1606              false.  For compatibility with old XBoard versions, -bell/-xbell
1607              are also accepted as abbreviations for this option.
1608
1609       -exit/-xexit or -popupExitMessage true/false
1610              Sets  the  Popup  Exit  Message  menu option.  See Options Menu.
1611              Default: true.
1612
1613       -popup/-xpopup or -popupMoveErrors true/false
1614              Sets the Popup Move  Errors  menu  option.   See  Options  Menu.
1615              Default: false.
1616
1617       -queen/-xqueen or -alwaysPromoteToQueen true/false
1618              Sets  the Always Queen menu option.  See Options Menu.  Default:
1619              false.
1620
1621       -legal/-xlegal or -testLegality true/false
1622              Sets the Test Legality menu option.  See Options Menu.  Default:
1623              true.
1624
1625       -size or -boardSize (sizeName | n1,n2,n3,n4,n5,n6,n7)
1626              Determines  how  large the board will be, by selecting the pixel
1627              size of the pieces and setting a few  related  parameters.   The
1628              sizeName  can  be  one of: Titanic, giving 129x129 pixel pieces,
1629              Colossal 116x116, Giant 108x108, Huge 95x95,  Big  87x87,  Large
1630              80x80, Bulky 72x72, Medium 64x64, Moderate 58x58, Average 54x54,
1631              Middling 49x49, Mediocre 45x45, Small 40x40, Slim 37x37,  Petite
1632              33x33,  Dinky  29x29, Teeny 25x25, or Tiny 21x21.  Pieces of all
1633              these sizes are built into XBoard.  Other sizes can be  used  if
1634              you  have  them;  see  the  pixmapDirectory  and bitmapDirectory
1635              options.  The default depends on the size of your screen; it  is
1636              approximately the largest size that will fit without clipping.
1637
1638              You  can  select  other sizes or vary other layout parameters by
1639              providing a list of comma-separated values (with no  spaces)  as
1640              the  argument.   You  do not need to provide all the values; for
1641              any you omit from the end of the list, defaults are  taken  from
1642              the nearest built-in size.  The value `n1' gives the piece size,
1643              `n2' the width of the black border  between  squares,  `n3'  the
1644              desired  size  for  the clockFont, `n4' the desired size for the
1645              coordFont, `n5' the desired size for the default font, `n6'  the
1646              smallLayout  flag  (0  or 1), and `n7' the tinyLayout flag (0 or
1647              1).  All dimensions  are  in  pixels.   If  the  border  between
1648              squares  is  eliminated (0 width), the various highlight options
1649              will not work, as there is nowhere to draw  the  highlight.   If
1650              smallLayout  is 1 and `titleInWindow' is true, the window layout
1651              is rearranged to make more room for the title.  If tinyLayout is
1652              1,  the  labels on the menu bar are abbreviated to one character
1653              each and the buttons in the button bar are made narrower.
1654
1655       -coords/-xcoords or -showCoords true/false
1656              Sets the Show Coords menu option.  See Options  Menu.   Default:
1657              false.  The `coordFont' option specifies what font to use.
1658
1659       -autoraise/-xautoraise or -autoRaiseBoard true/false
1660              Sets  the  Auto  Raise  Board  menu  option.   See Options Menu.
1661              Default: true.
1662
1663       -autoflip/-xautoflip or -autoFlipView true/false
1664              Sets  the  Auto  Flip  View  menu  option.   See  Options  Menu.
1665              Default: true.
1666
1667       -flip/-xflip or -flipView true/false
1668              If  Auto  Flip  View is not set, or if you are observing but not
1669              participating in a game, then the positioning of  the  board  at
1670              the  start  of  each  game  depends  on the flipView option.  If
1671              flipView is false (the default), the board is positioned so that
1672              the  white  pawns  move from the bottom to the top; if true, the
1673              black pawns move from the bottom to the top.  In any  case,  the
1674              Flip  menu  option  (see  Options  Menu) can be used to flip the
1675              board after the game starts.
1676
1677       -title/-xtitle or -titleInWindow true/false
1678              If this option is true, XBoard displays player  names  (for  ICS
1679              games)  and  game  file  names (for `Load Game') inside its main
1680              window. If the option is false (the default),  this  information
1681              is  displayed only in the window banner. You probably won't want
1682              to set this option unless the information is not showing  up  in
1683              the banner, as happens with a few X window managers.
1684
1685       -buttons/-xbuttons or -showButtonBar True/False
1686              If  this option is False, xboard omits the [<<] [<] [P] [>] [>>]
1687              button bar from the window, allowing  the  message  line  to  be
1688              wider.   You  can still get the functions of these buttons using
1689              the menus or their keyboard shortcuts.  Default: true.
1690
1691       -mono/-xmono or -monoMode true/false
1692              Determines whether XBoard displays its pieces and  squares  with
1693              two colors (true) or four (false). You shouldn't have to specify
1694              `monoMode'; XBoard will determine if it is necessary.
1695
1696       -flashCount count
1697       -flashRate rate
1698       -flash/-xflash
1699              These options enable flashing of pieces when they land on  their
1700              destination square.  `flashCount' tells XBoard how many times to
1701              flash  a  piece  after  it  lands  on  its  destination  square.
1702              `flashRate' controls the rate of flashing (flashes/sec).  Abbre‐
1703              viations: `flash' sets flashCount to 3.   `xflash'  sets  flash‐
1704              Count to 0.  Defaults:  flashCount=0 (no flashing), flashRate=5.
1705
1706       -highlight/-xhighlight or -highlightLastMove true/false
1707              Sets  the  Highlight  Last  Move  menu option. See Options Menu.
1708              Default: false.
1709
1710       -blind/-xblind or -blindfold true/false
1711              Sets the Blindfold menu option.   See  Options  Menu.   Default:
1712              false.
1713
1714       -clockFont font
1715              The  font  used for the clocks. If the option value is a pattern
1716              that does not specify the font size, XBoard tries to  choose  an
1717              appropriate  font  for  the  board  size  being  used.  Default:
1718              -*-helvetica-bold-r-normal--*-*-*-*-*-*-*-*.
1719
1720       -coordFont font
1721              The font used for rank and file coordinate  labels  if  `showCo‐
1722              ords'  is  true.  If the option value is a pattern that does not
1723              specify the font size, XBoard tries  to  choose  an  appropriate
1724              font for the board size being used.  Default: -*-helvetica-bold-
1725              r-normal--*-*-*-*-*-*-*-*.
1726
1727       -font font
1728              The font used for popup dialogs, menus, comments, etc.   If  the
1729              option  value  is a pattern that does not specify the font size,
1730              XBoard tries to choose an appropriate font for  the  board  size
1731              being       used.       Default:      -*-helvetica-medium-r-nor‐
1732              mal--*-*-*-*-*-*-*-*.
1733
1734       -fontSizeTolerance tol
1735              In the font selection algorithm, a nonscalable font will be pre‐
1736              ferred  over a scalable font if the nonscalable font's size dif‐
1737              fers by `tol' pixels or less from the desired size.  A value  of
1738              -1  will force a scalable font to always be used if available; a
1739              value of 0 will use a nonscalable font only if it is exactly the
1740              right  size;  a  large value (say 1000) will force a nonscalable
1741              font to always be used if available.  Default: 4.
1742
1743       -bm or -bitmapDirectory dir
1744       -pixmap or -pixmapDirectory dir
1745              These options control what piece images xboard uses.  The XBoard
1746              distribution includes one set of pixmap pieces in xpm format, in
1747              the directory `pixmaps', and one set of  bitmap  pieces  in  xbm
1748              format, in the directory `bitmaps'.  Pixmap pieces give a better
1749              appearance on the screen: the white pieces  have  dark  borders,
1750              and  the  black  pieces have opaque internal details.  With bit‐
1751              maps, neither piece color has a border, and the internal details
1752              are  transparent;  you  see the square color or other background
1753              color through them.
1754
1755              If XBoard is configured and compiled on a system  that  includes
1756              libXpm, the X pixmap library, the xpm pixmap pieces are compiled
1757              in as the default.  A different xpm piece set can be selected at
1758              runtime with the `pixmapDirectory' option, or a bitmap piece set
1759              can be selected with the `bitmapDirectory' option.
1760
1761              If XBoard is configured and compiled on a system that  does  not
1762              include  libXpm  (or  the `--disable-xpm' option is given to the
1763              configure program), the bitmap pieces are  compiled  in  as  the
1764              default.  It is not possible to use xpm pieces in this case, but
1765              pixmap pieces in another format called "xim" can be used by giv‐
1766              ing  the `pixmapDirectory' option.  Or again, a different bitmap
1767              piece set can be selected with the `bitmapDirectory' option.
1768
1769              Files in the `bitmapDirectory' must be  named  as  follows:  The
1770              first character of a piece bitmap name gives the piece it repre‐
1771              sents (`p', `n', `b', `r', `q', or  `k'),  the  next  characters
1772              give  the  size  in  pixels,  the  following character indicates
1773              whether the piece is solid or outline  (`s'  or  `o'),  and  the
1774              extension  is `.bm'.  For example, a solid 80x80 knight would be
1775              named `n80s.bm'.  The outline bitmaps are  used  only  in  mono‐
1776              chrome mode.  If bitmap pieces are compiled in and the bitmapDi‐
1777              rectory is missing some files, the compiled in pieces  are  used
1778              instead.
1779
1780              If  the  bitmapDirectory option is given, it is also possible to
1781              replace xboard's icons and menu checkmark,  by  supplying  files
1782              named `icon_white.bm', `icon_black.bm', and `checkmark.bm'.
1783
1784              For  more  information  about pixmap pieces and how to get addi‐
1785              tional sets, see zic2xpm below.
1786
1787       -whitePieceColor color
1788       -blackPieceColor color
1789       -lightSquareColor color
1790       -darkSquareColor color
1791       -highlightSquareColor color
1792       -lowTimeWarningColor color
1793              Colors to use for the pieces, squares,  and  square  highlights.
1794              Defaults:
1795
1796                  -whitePieceColor       #FFFFCC
1797                  -blackPieceColor       #202020
1798                  -lightSquareColor      #C8C365
1799                  -darkSquareColor       #77A26D
1800                  -highlightSquareColor  #FFFF00
1801                  -premoveHighlightColor #FF0000
1802                  -lowTimeWarningColor   #FF0000
1803
1804              On a grayscale monitor you might prefer:
1805
1806                  -whitePieceColor       gray100
1807                  -blackPieceColor       gray0
1808                  -lightSquareColor      gray80
1809                  -darkSquareColor       gray60
1810                  -highlightSquareColor  gray100
1811                  -premoveHighlightColor gray70
1812                  -lowTimeWarningColor   gray70
1813
1814       -drag/-xdrag or -animateDragging true/false
1815              Sets  the  Animate  Dragging  menu  option.  See  Options  Menu.
1816              Default: true.
1817
1818       -animate/-xanimate or -animateMoving true/false
1819              Sets the Animate Moving menu option. See Options Menu.  Default:
1820              true.
1821
1822       -animateSpeed n
1823              Number  of  milliseconds delay between each animation frame when
1824              Animate Moves is on.
1825
1826       -autoDisplayComment true/false
1827       -autoDisplayTags true/false
1828              If set to true, these options cause the  window  with  the  move
1829              comments,  and the window with PGN tags, respectively, to pop up
1830              automatically when such tags or comments are encountered  during
1831              the replaying a stored or loaded game.  Default: true.
1832
1833       -pasteSelection true/false
1834              If this option is set to true, the Paste Position and Paste Game
1835              options paste from the currently selected text.  If false,  they
1836              paste from the clipboard.  Default: false.
1837
1838   Adjudication Options
1839       -adjudicateLossThreshold n
1840              If the given value is non-zero, XBoard adjudicates the game as a
1841              loss if both engines agree for a duration of 6  consecutive  ply
1842              that  the  score  is  below  the  given score threshold for that
1843              engine. Make sure the score is interpreted properly  by  XBoard,
1844              using   `-firstScoreAbs'   and   `-secondScoreAbs'   if  needed.
1845              Default: 0 (no adjudication)
1846
1847       -adjudicateDrawMoves n
1848              If the given value is non-zero, XBoard adjudicates the game as a
1849              draw  if after the given number of moves it was not yet decided.
1850              Default: 0 (no adjudication)
1851
1852       -checkMates true/false
1853              If this option is set, XBoard detects all checkmates and  stale‐
1854              mates,  and ends the game as soon as they occur.  Legality-test‐
1855              ing must be switched on for this option to work.  Default: true
1856
1857       -testClaims true/false
1858              If this option is set, XBoard verifies all result claims made by
1859              engines,  and  those who send false claims will forfeit the game
1860              because of it.  Legality-testing must be switched  on  for  this
1861              option to work. Default: true
1862
1863       -materialDraws true/false
1864              If  this  option  is set, XBoard adjudicates games as draws when
1865              there is no sufficient material left  to  inflict  a  checkmate.
1866              This  applies  to KBKB with like bishops (any number, actually),
1867              and to KBK, KNK and KK.  Legality-testing must  be  switched  on
1868              for this option to work. Default: true
1869
1870       -trivialDraws true/false
1871              If  this  option  is set, XBoard adjudicates games as draws that
1872              cannot be usually won without opponent cooperation. This applies
1873              to  KBKB  with unlike bishops, and to KBKN, KNKN, KNNK, KRKR and
1874              KQKQ. The draw is called after 6 ply into  these  end-games,  to
1875              allow  quick  mates that can occur in some exceptional positions
1876              to be found by the engines.  KQKQ does not really belong in this
1877              category,  and might be taken out in the future.  (When bitbase-
1878              based adjudications are implemented.)  Legality-testing must  be
1879              on for this option to work. Default: false
1880
1881       -ruleMoves n
1882              If the given value is non-zero, XBoard adjudicates the game as a
1883              draw after the given number  of  consecutive  reversible  moves.
1884              Engine draw claims are always accepted after 50 moves, irrespec‐
1885              tive of the given value of n.
1886
1887       -repeatsToDraw n
1888              If the given value is non-zero, xboard adjudicates the game as a
1889              draw  if  a  position  is  repeated  the  given number of times.
1890              Engines draw claims are always accepted after 3 repeats, (on the
1891              3rd  occurrence,  actually),  irrespective  of  the  value of n.
1892              Beware that positions that have different castling or en-passant
1893              rights  do  not  count  as  repeats,  XBoard  is  fully e.p. and
1894              castling aware!
1895
1896   Other options
1897       -ncp/-xncp or -noChessProgram true/false
1898              If this option is true, XBoard acts as a passive chessboard;  it
1899              does  not  start  a  chess engine at all. Turning on this option
1900              also turns off clockMode. Default: false.
1901
1902       -mode or -initialMode modename
1903              If this option is given, XBoard selects the given modename  from
1904              the  Mode menu after starting and (if applicable) processing the
1905              loadGameFile or loadPositionFile option. Default: "" (no  selec‐
1906              tion).   Other  supported values are MachineWhite, MachineBlack,
1907              TwoMachines, Analysis, AnalyzeFile, EditGame, EditPosition,  and
1908              Training.
1909
1910       -variant varname
1911              Activates  preliminary,  partial support for playing chess vari‐
1912              ants against a local engine or editing variant games.  This flag
1913              is not needed in ICS mode.  Recognized variant names are:
1914
1915                  normal        Normal chess
1916                  wildcastle    Shuffle chess, king can castle from d file
1917                  nocastle      Shuffle chess, no castling allowed
1918                  fischerandom  Fischer Random shuffle chess
1919                  bughouse      Bughouse, ICC/FICS rules
1920                  crazyhouse    Crazyhouse, ICC/FICS rules
1921                  losers        Lose all pieces or get mated (ICC wild 17)
1922                  suicide       Lose all pieces including king (FICS)
1923                  giveaway      Try to have no legal moves (ICC wild 26)
1924                  twokings      Weird ICC wild 9
1925                  kriegspiel    Opponent's pieces are invisible
1926                  atomic        Capturing piece explodes (ICC wild 27)
1927                  3check        Win by giving check 3 times (ICC wild 25)
1928                  shatranj      An ancient precursor of chess (ICC wild 28)
1929                  xiangqi       Chinese Chess (on a 9x10 board)
1930                  shogi         Japanese Chess (on a 9x9 board & piece drops)
1931                  capablanca    Capablanca Chess (10x8 board, with Archbishop
1932                                and Chancellor pieces)
1933                  gothic        similar, with a better initial position
1934                  caparandom    An FRC-like version of Capablanca Chess (10x8)
1935                  janus         A game with two Archbishops (10x8 board)
1936                  courier       Medieval intermediate between shatranj and
1937                                modern Chess (on 12x8 board)
1938                  falcon        Patented 10x8 variant with two Falcon pieces
1939                  berolina      Pawns capture straight ahead, and move diagonal
1940                  cylinder      Pieces wrap around the board edge
1941                  knightmate    King moves as Knight, and vice versa
1942                  super         Superchess (shuffle variant with 4 exo-pieces)
1943                  fairy         A catchall variant in which all piece types
1944                                known to XBoard can participate (8x8)
1945                  unknown       Catchall for other unknown variants
1946
1947              NOT  ALL  BOARDSIZES  PROVIDE A COMPLETE SET OF BUILT-IN BITMAPS
1948              FOR ALL UN-ORTHODOX PIECES, though. Only in `boardSize' middling
1949              and  bulky  all  22  piece  types are provided, while -boardSize
1950              petite has most of them. Archbishop, Chancellor and  Amazon  are
1951              supported  in  every size from petite to bulky. Kings or Amazons
1952              are substituted for missing bitmaps. You can still play variants
1953              needing  un-orthodox  pieces in other board sizes providing your
1954              own bitmaps through the `bitmapDirectory'  or  `pixmapDirectory'
1955              options.
1956
1957              In  the  shuffle  variants,  XBoard now does shuffle the pieces,
1958              although you can still do it by hand using Edit Position.   Some
1959              variants are supported only in ICS mode, including bughouse, and
1960              kriegspiel.  The winning/drawing conditions in crazyhouse  (off-
1961              board  interposition  on  mate)  are  not  fully understood, but
1962              losers, suicide, giveaway, atomic,  and  3check  should  be  OK.
1963              Berolina  and  cylinder  chess  can only be played with legality
1964              testing off.  In crazyhouse, XBoard now does keep track of  off-
1965              board  pieces.   In  shatranj  it does implement the baring rule
1966              when mate detection is switched on.
1967
1968       -boardHeight N
1969              Allows you to set a non-standard number of board  ranks  in  any
1970              variant.   If  the height is given as -1, the default height for
1971              the variant is used.  Default: -1
1972
1973       -boardWidth N
1974              Allows you to set a non-standard number of board  files  in  any
1975              variant.  If the width is given as -1, the default width for the
1976              variant is used.  With a non-standard width, the  initial  posi‐
1977              tion  will  always be an empty board, as the usual opening array
1978              will not fit.  Default: -1
1979
1980       -holdingsSize N
1981              Allows you to set a non-standard size for the  holdings  in  any
1982              variant.   If the size is given as -1, the default holdings size
1983              for the variant is used.  The first N piece types will  go  into
1984              the  holdings  on  capture, and you will be able to drop them on
1985              the board in stead of making a normal move. If  size  equals  0,
1986              there will be no holdings.  Default: -1
1987
1988       -defaultFrcPosition N
1989              Specifies  the  number  of the opening position in shuffle games
1990              like Chess960.  A value of -1 means  the  position  is  randomly
1991              generated by XBoard at the beginning of every game.  Default: -1
1992
1993       -pieceToSquareTable string
1994              The characters that are used to represent the piece types XBoard
1995              knows in FEN diagrams and SAN moves. The string argument has  to
1996              have  an even length (or it will be ignored), as white and black
1997              pieces have to be given separately (in  that  order).  The  last
1998              letter for each color will be the King.  The letters before that
1999              will be PNBRQ and then a whole host of fairy pieces in an  order
2000              that has not fully crystallized yet (currently FEACWMOHIJGDVSLU,
2001              F=Ferz, Elephant, A=Archbishop,  C=Chancellor,  W=Wazir,  M=Com‐
2002              moner,  O=Cannon,  H=Nightrider).  You  should list at least all
2003              pieces that occur in the variant you are playing.  If  you  have
2004              less  than 44 characters in the string, the pieces not mentioned
2005              will get assigned a period, and you will not be able to  distin‐
2006              guish  them  in  FENs.  You  can also explicitly assign pieces a
2007              period, in which case they will not be counted in deciding which
2008              captured  pieces  can  go  into  the holdings.  A tilde '~' as a
2009              piece name does mean this piece is used to represent a  promoted
2010              Pawn  in  crazyhouse-like  games,  i.e. on capture it turns back
2011              onto a Pawn.  A '+' similarly indicates the piece  is  a  shogi-
2012              style  promoted  piece,  that  should revert to its non-promoted
2013              version on capture (rather than to a Pawn).  Note that  promoted
2014              pieces  are  represented  by pieces 11 further in the list.  You
2015              should not have to use this option often: each variant  has  its
2016              own  default  setting for the piece representation in FEN, which
2017              should be sufficient in normal use.  Default: ""
2018
2019       -debug/-xdebug or -debugMode true/false
2020              Turns on debugging printout.
2021
2022       -debugFile filename or -nameOfDebugFile filename
2023              Sets the name of the file to which XBoard saves  debug  informa‐
2024              tion (including all communication to and from the engines).
2025
2026       -engineDebugOutput number
2027              Specifies  how  XBoard should handle unsolicited output from the
2028              engine, with respect to saving it in the debug file.  The output
2029              is  further  (hopefully)  ignored.  If number=0, XBoard refrains
2030              from writing such spurious output to the debug  file.   If  num‐
2031              ber=1,  all  engine  output  is  written faithfully to the debug
2032              file.  If number=2, any protocol-violating line is prefixed with
2033              a  '#'  character,  as  the engine itself should have done if it
2034              wanted to submit info for inclusion in  the  debug  file.   This
2035              option  is provided for the benefit of applications that use the
2036              debug file as a source of information, such as  the  broadcaster
2037              of  live  games TLCV / TLCS.  Such applications can be protected
2038              from spurious engine output that might otherwise confuse them.
2039
2040       -rsh or -remoteShell shell-name
2041              Name of the command used to run programs remotely.  The  default
2042              is  `rsh'  or  `remsh', determined when XBoard is configured and
2043              compiled.
2044
2045       -ruser or -remoteUser user-name
2046              User name on the remote system when running  programs  with  the
2047              `remoteShell'. The default is your local user name.
2048
2049       -userName username
2050              Name  under  which  the  Human  player will be listed in the PGN
2051              file.  Default is the login name on your local computer.
2052
2053       -delayBeforeQuit number
2054       -delayAfterQuit number
2055              These options specify how long XBoard has to wait before sending
2056              a termination signal to rogue engine processes, that do not want
2057              to react to the 'quit' command. The second  one  determines  the
2058              pause after killing the engine, to make sure it dies.
2059
2060

CHESS SERVERS

2062       An  "Internet Chess Server", or "ICS", is a place on the Internet where
2063       people can get together to play chess, watch other people's  games,  or
2064       just chat.  You can use either `telnet' or a client program like XBoard
2065       to connect to the server.  There are thousands of registered  users  on
2066       the  different  ICS  hosts,  and  it is not unusual to meet 200 on both
2067       chessclub.com and freechess.org.
2068
2069       Most people can just type `xboard -ics'  to  start  XBoard  as  an  ICS
2070       client.  Invoking XBoard in this way connects you to the Internet Chess
2071       Club (ICC), a commercial ICS.  You can log in there as a guest even  if
2072       you  do  not  have  a paid account.  To connect to the largest Free ICS
2073       (FICS), use the command `xboard -ics -icshost  freechess.org'  instead,
2074       or  substitute  a  different host name to connect to your favorite ICS.
2075       For a full description of command-line options that control the connec‐
2076       tion  to  ICS  and  change  the  default values of ICS options, see ICS
2077       options.
2078
2079       While you are running XBoard as an ICS client,  you  use  the  terminal
2080       window  that you started XBoard from as a place to type in commands and
2081       read information that is not available on the chessboard.
2082
2083       The first time you need to use the terminal is to enter your login name
2084       and  password,  if  you  are a registered player. (You don't need to do
2085       this manually; the `icsLogon' option  can  do  it  for  you.   See  ICS
2086       options.)   If  you are not registered, enter `g' as your name, and the
2087       server will pick a unique guest name for you.
2088
2089       Some useful ICS commands include
2090
2091       help <topic>
2092              to get help on the given <topic>. To get a list of possible top‐
2093              ics  type "help" without topic.  Try the help command before you
2094              ask other people on the server for help.
2095
2096              For example `help register' tells you how to become a registered
2097              ICS player.
2098
2099       who <flags>
2100              to see a list of people who are logged on.  Administrators (peo‐
2101              ple you should talk to if you have a problem)  are  marked  with
2102              the character `*', an asterisk. The <flags> allow you to display
2103              only selected players: For example, `who of'  shows  a  list  of
2104              players  who  are interested in playing but do not have an oppo‐
2105              nent.
2106
2107       games  to see what games are being played
2108
2109       match <player> [<mins>] [<inc>]
2110              to challenge another player to a game. Both opponents get <mins>
2111              minutes for the game, and <inc> seconds will be added after each
2112              move.  If another player challenges you, the server asks if  you
2113              want to accept the challenge; use the `accept' or `decline' com‐
2114              mands to answer.
2115
2116       accept
2117       decline
2118              to accept or decline another player's offer.  The offer  may  be
2119              to  start  a  new  game,  or  to agree to a `draw', `adjourn' or
2120              `abort' the current game. See Action Menu.
2121
2122              If you have more than one pending offer (for  example,  if  more
2123              than  one  player is challenging you, or if your opponent offers
2124              both a draw and to adjourn the game), you have to  supply  addi‐
2125              tional  information, by typing something like `accept <player>',
2126              `accept draw', or `draw'.
2127
2128       draw
2129       adjourn
2130       abort  asks your opponent to terminate  a  game  by  mutual  agreement.
2131              Adjourned  games  can  be  continued  later.   Your opponent can
2132              either `decline' your offer or accept it  (by  typing  the  same
2133              command  or typing `accept').  In some cases these commands work
2134              immediately, without asking your opponent to agree.   For  exam‐
2135              ple, you can abort the game unilaterally if your opponent is out
2136              of time, and you can claim a draw by repetition or  the  50-move
2137              rule if available simply by typing `draw'.
2138
2139       finger <player>
2140              to  get  information  about  the given <player>. (Default: your‐
2141              self.)
2142
2143       vars   to get a list of personal settings
2144
2145       set <var> <value>
2146              to modify these settings
2147
2148       observe <player>
2149              to observe an ongoing game of the given <player>.
2150
2151       examine
2152       oldmoves
2153              to review a recently completed game
2154
2155       Some special XBoard features are activated when you are in examine mode
2156       on  ICS.   See  the descriptions of the menu commands `Forward', `Back‐
2157       ward', `Pause', `ICS Client', and `Stop Examining' on  the  Step  Menu,
2158       Mode Menu, and Options Menu.
2159
2160

FIREWALLS

2162       By  default, XBoard communicates with an Internet Chess Server by open‐
2163       ing a TCP socket directly from the machine it is running on to the ICS.
2164       If  there  is  a  firewall between your machine and the ICS, this won't
2165       work. Here are some recipes for getting around common  kinds  of  fire‐
2166       walls using special options to XBoard.  Important: See the paragraph in
2167       the below about extra echoes, in Limitations.
2168
2169       Suppose that you can't telnet directly to ICS, but you can telnet to  a
2170       firewall  host,  log  in, and then telnet from there to ICS.  Let's say
2171       the firewall is called `firewall.example.com'. Set command-line options
2172       as follows:
2173
2174           xboard -ics -icshost firewall.example.com -icsport 23
2175
2176       Or in your `.Xresources' file:
2177
2178           XBoard*internetChessServerHost: firewall.example.com
2179           XBoard*internetChessServerPort: 23
2180
2181       Then when you run XBoard in ICS mode, you will be prompted to log in to
2182       the firewall host. This works because port 23 is  the  standard  telnet
2183       login  service. Do so, then telnet to ICS, using a command like `telnet
2184       chessclub.com 5000', or whatever command the firewall provides for tel‐
2185       netting to port 5000.
2186
2187       If  your  firewall  lets  you  telnet  (or  rlogin) to remote hosts but
2188       doesn't let you telnet to port 5000, you may be able to connect to  the
2189       chess  server  on port 23 instead, which is the port the telnet program
2190       uses by default.  Some chess servers  support  this  (including  chess‐
2191       club.com and freechess.org), while some do not.
2192
2193       If  your  chess  server  does not allow connections on port 23 and your
2194       firewall does not allow you to connect to other ports, you may be  able
2195       to  connect  by  hopping through another host outside the firewall that
2196       you have an account on.  For instance, suppose you have a shell account
2197       at  `foo.edu'.  Follow  the recipe above, but instead of typing `telnet
2198       chessclub.com 5000' to the firewall, type `telnet foo.edu' (or  `rlogin
2199       foo.edu'), log in there, and then type `telnet chessclub.com 5000'.
2200
2201       Suppose  that  you can't telnet directly to ICS, but you can use rsh to
2202       run programs on a firewall host, and  that  host  can  telnet  to  ICS.
2203       Let's  say  the  firewall is called `rsh.example.com'. Set command-line
2204       options as follows:
2205
2206           xboard -ics -gateway rsh.example.com -icshost chessclub.com
2207
2208       Or in your `.Xresources' file:
2209
2210           XBoard*gateway: rsh.example.com
2211           XBoard*internetChessServerHost: chessclub.com
2212
2213       Then when you run XBoard in ICS mode, it will connect  to  the  ICS  by
2214       using  `rsh'  to  run  the  command `telnet chessclub.com 5000' on host
2215       `rsh.example.com'.
2216
2217       Suppose that you can telnet anywhere you want, but you have  to  run  a
2218       special program called `ptelnet' to do so.
2219
2220       First,  we'll  consider  the easy case, in which `ptelnet chessclub.com
2221       5000' gets you to the chess server.  In  this  case  set  command  line
2222       options as follows:
2223
2224           xboard -ics -telnet -telnetProgram ptelnet
2225
2226       Or in your `.Xresources' file:
2227
2228           XBoard*useTelnet: true
2229           XBoard*telnetProgram: ptelnet
2230
2231       Then  when you run XBoard in ICS mode, it will issue the command `ptel‐
2232       net chessclub.com 5000' to connect to the ICS.
2233
2234       Next, suppose that `ptelnet chessclub.com 5000' doesn't work; that  is,
2235       your `ptelnet' program doesn't let you connect to alternative ports. As
2236       noted above, your chess server may allow you  to  connect  on  port  23
2237       instead.   In that case, just add the option `-icsport ""' to the above
2238       command, or add `XBoard*internetChessServerPort:' to your `.Xresources'
2239       file.  But if your chess server doesn't let you connect on port 23, you
2240       will have to find some other host outside the firewall and hop  through
2241       it.  For  instance,  suppose you have a shell account at `foo.edu'. Set
2242       command line options as follows:
2243
2244           xboard -ics -telnet -telnetProgram ptelnet -icshost foo.edu -icsport ""
2245
2246       Or in your `.Xresources' file:
2247
2248           XBoard*useTelnet: true
2249           XBoard*telnetProgram: ptelnet
2250           XBoard*internetChessServerHost: foo.edu
2251           XBoard*internetChessServerPort:
2252
2253       Then when you run XBoard in ICS mode, it will issue the command  `ptel‐
2254       net  foo.edu'  to  connect  to your account at `foo.edu'. Log in there,
2255       then type `telnet chessclub.com 5000'.
2256
2257       ICC timestamp and FICS timeseal do not  work  through  some  firewalls.
2258       You  can  use  them  only if your firewall gives a clean TCP connection
2259       with a full 8-bit wide path.  If your firewall allows you  to  get  out
2260       only  by  running  a special telnet program, you can't use timestamp or
2261       timeseal across it.  But if you have access to a computer just  outside
2262       your firewall, and you have much lower netlag when talking to that com‐
2263       puter than to the ICS, it might be worthwhile running timestamp  there.
2264       Follow  the  instructions  above for hopping through a host outside the
2265       firewall (foo.edu in the example), but run  timestamp  or  timeseal  on
2266       that host instead of telnet.
2267
2268       Suppose that you have a SOCKS firewall that will give you a clean 8-bit
2269       wide TCP connection to the chess server, but only after  you  authenti‐
2270       cate  yourself  via the SOCKS protocol.  In that case, you could make a
2271       socksified version of XBoard and run that.  If you are using  timestamp
2272       or timeseal, you will to socksify it, not XBoard; this may be difficult
2273       seeing that ICC and FICS do not provide source code for these programs.
2274       Socksification  is beyond the scope of this document, but see the SOCKS
2275       Web site at http://www.socks.permeo.com/.  If you  are  missing  SOCKS,
2276       try http://www.funbureau.com/.
2277
2278

ENVIRONMENT VARIABLES

2280       Game  and  position files are found in a directory named by the `CHESS‐
2281       DIR' environment variable. If this variable is  not  set,  the  current
2282       working  directory  is  used.  If  `CHESSDIR'  is  set, XBoard actually
2283       changes its working directory to `$CHESSDIR', so any files  written  by
2284       the chess engine will be placed there too.
2285
2286

LIMITATIONS AND KNOWN BUGS

2288       There  is  no  way for two people running copies of XBoard to play each
2289       other without going through an Internet Chess Server.
2290
2291       Under some circumstances, your ICS password may be echoed when you  log
2292       on.
2293
2294       If  you  are  connecting  to  the  ICS by running telnet on an Internet
2295       provider or firewall host, you may find that  each  line  you  type  is
2296       echoed  back  an  extra  time  after  you hit <Enter>. If your Internet
2297       provider is a Unix system, you can probably turn its echo off by typing
2298       `stty  -echo'  after you log in, and/or typing <^E><Enter> (Ctrl+E fol‐
2299       lowed by the Enter key) to the telnet program  after  you  have  logged
2300       into  ICS.   It is a good idea to do this if you can, because the extra
2301       echo can occasionally confuse XBoard's parsing routines.
2302
2303       The game parser recognizes only algebraic notation.
2304
2305       Many of the following points used to be limitations in XBoard 4.2.7 and
2306       earlier, but are now fixed: The internal move legality tester in XBoard
2307       4.3.xx does look at the game history, and is fully aware of castling or
2308       en-passant-capture  rights.  It permits castling with the king on the d
2309       file because this is possible in some  "wild  1"  games  on  ICS.   The
2310       piece-drop  menu  does  not check piece drops in bughouse to see if you
2311       actually hold the piece you are trying to drop. But this way  of  drop‐
2312       ping  pieces  should be considered an obsolete feature, now that pieces
2313       can be dropped by dragging them from the holdings to the board. Anyway,
2314       if  you  would attempt an illegal move when using a chess engine or the
2315       ICS, XBoard will accept the error message that  comes  back,  undo  the
2316       move,  and  let  you  try  another.   FEN  positions saved by XBoard do
2317       include correct information about whether castling or  en  passant  are
2318       legal, and also handle the 50-move counter.  The mate detector does not
2319       understand that non-contact mate is not really mate in  bughouse.   The
2320       only problem this causes while playing is minor: a "#" (mate indicator)
2321       character will show up after a non-contact  mating  move  in  the  move
2322       list.  XBoard  will not assume the game is over at that point, not even
2323       when the option Detect Mates is on.  Edit Game  mode  always  uses  the
2324       rules  of  the selected variant, which can be a variant that uses piece
2325       drops.  You can load and edit games  that  contain  piece  drops.   The
2326       (obsolete)  piece menus are not active, but you can perform piece drops
2327       by dragging pieces from the holdings.   Edit  Position  mode  does  not
2328       allow  you  to  edit the crazyhouse holdings properly.  You cannot drag
2329       pieces to the holding, and using the popup menu  to  put  pieces  there
2330       does  not  adapt the holding counts and leads to an inconsistent state.
2331       Set up crazyhouse positions by loading / pasting a bFEN, from there you
2332       can  set  the  holdings.   Fischer Random castling is fully understood.
2333       You can enter castlings by dragging the King on top of your Rook.   You
2334       can  probably  also  play  Fischer Random successfully on ICS by typing
2335       castling moves into the ICS Interaction window.
2336
2337       The menus may not work if your keyboard is in Caps  Lock  or  Num  Lock
2338       mode.   This  seems to be a problem with the Athena menu widget, not an
2339       XBoard bug.
2340
2341       Also see the ToDo file included with the distribution  for  many  other
2342       possible  bugs,  limitations,  and ideas for improvement that have been
2343       suggested.
2344

REPORTING PROBLEMS

2346       You can report bugs and problems with XBoard using the bug  tracker  at
2347       `https://savannah.gnu.org/projects/xboard/'   or  by  sending  mail  to
2348       `<bug-xboard@gnu.org>'.  It can also be useful  to  report  or  discuss
2349       bugs  in  the  WinBoard  Forum at `http://www.open-aurec.com/wbforum/',
2350       WinBoard development section.
2351
2352       Please use the `script' program to start a typescript, run XBoard  with
2353       the `-debug' option, and include the typescript output in your message.
2354       Also tell us what kind of machine and what operating system version you
2355       are using.  The command `uname -a' will often tell you this.
2356
2357       If you improve XBoard, please send a message about your changes, and we
2358       will get in touch with you about merging them in to the  main  line  of
2359       development.
2360
2361

AUTHORS AND CONTRIBUTORS

2363       Chris Sears and Dan Sears wrote the original XBoard.  They were respon‐
2364       sible for versions 1.0 through 1.2.  The color scheme  was  taken  from
2365       Wayne Christopher's `XChess' program.
2366
2367       Tim  Mann  was  primarily  responsible  for XBoard versions 1.3 through
2368       4.2.7, and for WinBoard (a port of XBoard to Microsoft Win32) from  its
2369       inception through version 4.2.7.
2370
2371       John  Chanak  contributed the initial implementation of ICS mode.  Evan
2372       Welsh wrote `CMail', and Patrick Surry helped  in  designing,  testing,
2373       and  documenting  it.   Elmar  Bartel contributed the new piece bitmaps
2374       introduced in version 3.2.  Jochen Wiedmann converted the documentation
2375       to  texinfo.   Frank  McIngvale  added click/click moving, the Analysis
2376       modes, piece flashing, ZIICS  import,  and  ICS  text  colorization  to
2377       XBoard.   Hugh Fisher added animated piece movement to XBoard, and Hen‐
2378       rik Gram added it to WinBoard.  Mark Williams contributed  the  initial
2379       (WinBoard-only)  implementation  of  many  new  features  added to both
2380       XBoard and WinBoard in version 4.1.0,  including  copy/paste,  premove,
2381       icsAlarm,  autoFlipView, training mode, auto raise, and blindfold.  Ben
2382       Nye contributed X copy/paste code for XBoard.
2383
2384       In a fork from version 4.2.7, Alessandro Scotti added many elements  to
2385       the  user interface of WinBoard, including the board textures and font-
2386       based rendering, the evaluation-graph, move-history  and  engine-output
2387       window.  He was also responsible for adding the UCI support.
2388
2389       H. G. Muller continued this fork of the project, producing version 4.3.
2390       He made WinBoard castling- and e.p.-aware, added variant  support  with
2391       adjustable  board sizes, the crazyhouse holdings, and the fairy pieces.
2392       In addition he added most of the adjudication  options,  made  WinBoard
2393       more  robust  in  dealing with buggy and crashing engines, and extended
2394       time control with a time-odds and node-count-based modes.  Most of  the
2395       options  that initially were WinBoard only have now been back-ported to
2396       XBoard.
2397
2398       Michel van den Bergh provided the code  for  reading  Polyglot  opening
2399       books.
2400
2401       Meanwhile,  some work continued on the GNU XBoard project maintained at
2402       savannah.gnu.org,  but  version  4.2.8  was  never  released.    Daniel
2403       Mehrmann was responsible for much of this work.
2404
2405       Most  recently,  Arun Persaud worked with H. G. Muller to merge all the
2406       features of the never-released XBoard/WinBoard 4.2.8 of the GNU  XBoard
2407       project  and the never-released 4.3.16 from H. G.'s fork into a unified
2408       XBoard/WinBoard 4.4, which  is  now  available  both  from  the  savan‐
2409       nah.gnu.org web site and the WinBoard forum.
2410
2411

CMAIL

2413       The  `cmail' program can help you play chess by email with opponents of
2414       your choice using XBoard as an interface.
2415
2416       You will usually run `cmail' without giving any options.
2417
2418
2419   CMail options
2420       -h     Displays `cmail' usage information.
2421
2422       -c     Shows the conditions of the GNU  General  Public  License.   See
2423              Copying.
2424
2425       -w     Shows  the  warranty  notice  of the GNU General Public License.
2426              See Copying.
2427
2428       -v
2429       -xv    Provides or inhibits verbose output  from  `cmail'  and  XBoard,
2430              useful  for  debugging.  The  `-xv' form also inhibits the cmail
2431              introduction message.
2432
2433       -mail
2434       -xmail Invokes or inhibits the sending of a mail message containing the
2435              move.
2436
2437       -xboard
2438       -xxboard
2439              Invokes or inhibits the running of XBoard on the game file.
2440
2441       -reuse
2442       -xreuse
2443              Invokes  or  inhibits the reuse of an existing XBoard to display
2444              the current game.
2445
2446       -remail
2447              Resends the last mail message for that game. This inhibits  run‐
2448              ning XBoard.
2449
2450       -game <name>
2451              The name of the game to be processed.
2452
2453       -wgames <number>
2454       -bgames <number>
2455       -games <number>
2456              Number of games to start as White, as Black or in total. Default
2457              is 1 as white and none as black. If only one color is  specified
2458              then  none  of the other color is assumed. If no color is speci‐
2459              fied then equal numbers of White and Black  games  are  started,
2460              with  the  extra  game  being as White if an odd number of total
2461              games is specified.
2462
2463       -me <short name>
2464       -opp <short name>
2465              A one-word alias for yourself or your opponent.
2466
2467       -wname <full name>
2468       -bname <full name>
2469       -name <full name>
2470       -oppname <full name>
2471              The full name of White, Black, yourself or your opponent.
2472
2473       -wna <net address>
2474       -bna <net address>
2475       -na <net address>
2476       -oppna <net address>
2477              The email address of White, Black, yourself or your opponent.
2478
2479       -dir <directory>
2480              The directory in which `cmail' keeps its files. This defaults to
2481              the  environment variable `$CMAIL_DIR' or failing that, `$CHESS‐
2482              DIR', `$HOME/Chess' or `~/Chess'. It will be created if it  does
2483              not exist.
2484
2485       -arcdir <directory>
2486              The   directory  in  which  `cmail'  archives  completed  games.
2487              Defaults to the environment variable `$CMAIL_ARCDIR' or, in  its
2488              absence,  the  same  directory  as cmail keeps its working files
2489              (above).
2490
2491       -mailprog <mail program>
2492              The program used by cmail to send email messages. This  defaults
2493              to  the  environment  variable `$CMAIL_MAILPROG' or failing that
2494              `/usr/ucb/Mail', `/usr/ucb/mail' or `Mail'. You will need to set
2495              this variable if none of the above paths fit your system.
2496
2497       -logFile <file>
2498              A  file  in  which  to  dump verbose debugging messages that are
2499              invoked with the `-v' option.
2500
2501       -event <event>
2502              The PGN Event tag (default `Email correspondence game').
2503
2504       -site <site>
2505              The PGN Site tag (default `NET').
2506
2507       -round <round>
2508              The PGN Round tag (default `-', not applicable).
2509
2510       -mode <mode>
2511              The PGN Mode tag (default `EM', Electronic Mail).
2512
2513       Other options
2514              Any option flags not listed above are passed through to  XBoard.
2515              Invoking  XBoard through CMail changes the default values of two
2516              XBoard options:  The  default  value  for  `-noChessProgram'  is
2517              changed to true; that is, by default no chess engine is started.
2518              The default value for `-timeDelay' is changed to 0; that is,  by
2519              default XBoard immediately goes to the end of the game as played
2520              so far, rather than stepping through the moves one by one.   You
2521              can  still  set  these  options to whatever values you prefer by
2522              supplying them on CMail's command line.  See Options.
2523
2524   Starting a CMail Game
2525       Type `cmail' from a shell to start a game as white.  After  an  opening
2526       message,  you will be prompted for a game name, which is optional -- if
2527       you simply press <Enter>, the game name will  take  the  form  `you-VS-
2528       opponent'.  You  will next be prompted for the short name of your oppo‐
2529       nent. If you haven't played  this  person  before,  you  will  also  be
2530       prompted  for his/her email address. `cmail' will then invoke XBoard in
2531       the background. Make your first move and select `Mail  Move'  from  the
2532       `File' menu. See File Menu. If all is well, `cmail' will mail a copy of
2533       the move to your opponent. If you select `Exit' without having selected
2534       `Mail Move' then no move will be made.
2535
2536
2537   Answering a Move
2538       When you receive a message from an opponent containing a move in one of
2539       your games, simply pipe the message through `cmail'.  In  some  mailers
2540       this  is  as simple as typing `| cmail' when viewing the message, while
2541       in others you may have to save the message to a file and  do  `cmail  <
2542       file' at the command line. In either case `cmail' will display the game
2543       using XBoard. If you didn't exit XBoard when you made your  first  move
2544       then  `cmail'  will  do  its best to use the existing XBoard instead of
2545       starting a new one. As before, simply make  a  move  and  select  `Mail
2546       Move'  from the `File' menu. See File Menu. `cmail' will try to use the
2547       XBoard that was most recently used to display the  current  game.  This
2548       means  that many games can be in progress simultaneously, each with its
2549       own active XBoard.
2550
2551       If you want to look at the history or explore a  variation,  go  ahead,
2552       but  you  must  return to the current position before XBoard will allow
2553       you to mail a move. If you edit the  game's  history  you  must  select
2554       `Reload  Same  Game'  from  the `File' menu to get back to the original
2555       position, then make the move you  want  and  select  `Mail  Move'.   As
2556       before,  if you decide you aren't ready to make a move just yet you can
2557       either select `Exit' without sending a move or just leave  XBoard  run‐
2558       ning until you are ready.
2559
2560
2561   Multi-Game Messages
2562       It  is  possible  to  have  a `cmail' message carry more than one game.
2563       This feature was implemented to handle IECG (International Email  Chess
2564       Group)  matches, where a match consists of one game as white and one as
2565       black, with moves transmitted simultaneously. In case  there  are  more
2566       general  uses,  `cmail'  itself  places  no  limit  on  the  number  of
2567       black/white games contained in a message; however, XBoard does.
2568
2569
2570   Completing a Game
2571       Because XBoard can detect checkmate and stalemate, `cmail' handles game
2572       termination  sensibly. As well as resignation, the `Action' menu allows
2573       draws to be offered and accepted for `cmail' games.
2574
2575       For multi-game messages, only unfinished and just-finished  games  will
2576       be  included  in  email messages. When all the games are finished, they
2577       are archived in the user's archive  directory,  and  similarly  in  the
2578       opponent's  when he or she pipes the final message through `cmail'. The
2579       archive file name includes the date the game was started.
2580
2581
2582   Known CMail Problems
2583       It's possible that a strange conjunction of conditions may occasionally
2584       mean  that `cmail' has trouble reactivating an existing XBoard. If this
2585       should happen, simply trying it again should work.  If not, remove  the
2586       file  that  stores  the  XBoard's PID (`game.pid') or use the `-xreuse'
2587       option to force `cmail' to start a new XBoard.
2588
2589       Versions of `cmail' after 2.16 no longer understand the old file format
2590       that XBoard used to use and so cannot be used to correspond with anyone
2591       using an older version.
2592
2593       Versions of `cmail' older than 2.11 do not handle multi-game  messages,
2594       so  multi-game  correspondence  is not possible with opponents using an
2595       older version.
2596
2597

OTHER PROGRAMS YOU CAN USE WITH XBOARD

2599       Here are some other programs you can use with XBoard
2600
2601
2602   GNU Chess
2603       The GNU Chess engine is available from:
2604
2605       ftp://ftp.gnu.org/gnu/gnuchess/
2606
2607       You can use XBoard to play a game against GNU Chess,  or  to  interface
2608       GNU Chess to an ICS.
2609
2610
2611   Fairy-Max
2612       Fairy-Max  is a derivative from the once World's smallest Chess program
2613       micro-Max, which measures only about 100 lines  of  source  code.   The
2614       main difference with micro-Max is that Fairy-Max loads its move-genera‐
2615       tor tables from a file, so that the rules for  piece  movement  can  be
2616       easily configured to implement unorthodox pieces.  Fairy-Max can there‐
2617       fore play a large number of variants, normal Chess being one of  those.
2618       In addition it plays Knightmate, Capablanca and Gothic Chess, Shatranj,
2619       Courier Chess, Cylinder chess, Berolina Chess, while the user can  eas‐
2620       ily define new variants.  It can be obtained from:
2621
2622       http://home.hccnet.nl/h.g.muller/dwnldpage.html
2623
2624
2625   HoiChess
2626       HoiChess  is  a not-so-very-strong Chess engine, which comes with a de‐
2627       rivative HoiXiangqi, able to play Chinese Chess.  It  can  be  obtained
2628       from the standard Linux repositories through:
2629
2630       sudo apt-get install hoichess
2631
2632
2633   Crafty
2634       Crafty  is  a chess engine written by Bob Hyatt.  You can use XBoard to
2635       play a game against Crafty, hook Crafty up to an ICS, or use Crafty  to
2636       interactively analyze games and positions for you.
2637
2638       Crafty  is a strong, rapidly evolving chess program. This rapid pace of
2639       development is good, because it means Crafty is always getting  better.
2640       This  can  sometimes  cause  problems with backwards compatibility, but
2641       usually the latest version of Crafty will work  well  with  the  latest
2642       version  of XBoard.  Crafty can be obtained from its author's FTP site:
2643       ftp://ftp.cis.uab.edu/hyatt/.
2644
2645       To use Crafty with XBoard, give the -fcp and -fd  options  as  follows,
2646       where  <crafty's  directory>  is  the  directory in which you installed
2647       Crafty and placed its book and other support files.
2648
2649
2650   zic2xpm
2651       The ``zic2xpm'' program is used to import chess sets from the  ZIICS(*)
2652       program  into  XBoard.  ``zic2xpm'' is part of the XBoard distribution.
2653       ZIICS is available from:
2654
2655       ftp://ftp.freechess.org/pub/chess/DOS/ziics131.exe
2656
2657       To import ZIICS pieces, do this:
2658
2659       1. Unzip ziics131.exe into a directory:
2660
2661                  unzip -L ziics131.exe -d ~/ziics
2662
2663       2. Use zic2xpm to convert a set of pieces to XBoard format.
2664
2665              For example, let's say you want to use  the  FRITZ4  set.  These
2666              files are named ``fritz4.*'' in the ZIICS distribution.
2667
2668                  mkdir ~/fritz4
2669                  cd ~/fritz4
2670                  zic2xpm ~/ziics/fritz4.*
2671
2672       3. Give XBoard the ``-pixmap'' option when starting up, e.g.:
2673
2674                  xboard -pixmap ~/fritz4
2675
2676              Alternatively, you can add this line to your `.Xresources' file:
2677
2678                  xboard*pixmapDirectory: ~/fritz4
2679
2680       (*)  ZIICS  is  a  separate  copyrighted  work  of Andy McFarland.  The
2681       ``ZIICS pieces'' are copyrighted works of  their  respective  creators.
2682       Files  produced by ``zic2xpm'' are for PERSONAL USE ONLY and may NOT be
2683       redistributed without explicit permission from the original  creator(s)
2684       of the pieces.
2685
2686
2688       Copyright  (C)  1991  Digital Equipment Corporation, Maynard, Massachu‐
2689       setts.
2690
2691       All Rights Reserved.
2692
2693       Permission to use, copy, modify, and distribute this software  and  its
2694       documentation  for  any purpose and without fee is hereby granted, pro‐
2695       vided that the above copyright notice appear in  all  copies  and  that
2696       both  that  copyright  notice and this permission notice appear in sup‐
2697       porting documentation, and that the name of  Digital  not  be  used  in
2698       advertising  or  publicity  pertaining  to distribution of the software
2699       without specific, written prior permission.
2700
2701       Digital disclaims all warranties with regard to this software,  includ‐
2702       ing all implied warranties of merchantability and fitness.  In no event
2703       shall Digital be liable for any special, indirect or consequential dam‐
2704       ages  or  any  damages  whatsoever  resulting from loss of use, data or
2705       profits, whether in an action of contract, negligence or other tortious
2706       action,  arising out of or in connection with the use or performance of
2707       this software.
2708
2709       Enhancements copyright (C) 1992-2003, 2004,  2005,  2006,  2007,  2008,
2710       2009 Free Software Foundation, Inc.
2711
2712       Published by the Free Software Foundation
2713       59 Temple Place - Suite 330
2714       Boston, MA 02111-1307 USA
2715
2716       Permission  is  granted  to make and distribute verbatim copies of this
2717       manual provided the copyright notice and  this  permission  notice  are
2718       preserved on all copies.
2719
2720       Permission  is granted to copy and distribute modified versions of this
2721       manual under the conditions for verbatim copying,  provided  also  that
2722       the  section  entitled  ``GNU  General  Public  License,''  is included
2723       exactly as in the original, and  provided  that  the  entire  resulting
2724       derived  work  is  distributed  under  the terms of a permission notice
2725       identical to this one.
2726
2727       Permission is granted to copy and distribute translations of this  man‐
2728       ual into another language, under the above conditions for modified ver‐
2729       sions, except that the section entitled ``GNU General Public License,''
2730       and this permission notice, may be included in translations approved by
2731       the Free Software Foundation instead of in the original English.
2732
2733

GNU GENERAL PUBLIC LICENSE

2735       Copyright (C) 2007 Free Software Foundation, Inc. `http://fsf.org/'
2736
2737       Everyone is permitted to copy and distribute verbatim copies of this
2738       license document, but changing it is not allowed.
2739
2740       The GNU General Public License is a free, copyleft license for software
2741       and other kinds of works.
2742
2743       The  licenses  for most software and other practical works are designed
2744       to take away your freedom to share and change the works.  By  contrast,
2745       the GNU General Public License is intended to guarantee your freedom to
2746       share and change all versions of a program -- to make sure  it  remains
2747       free software for all its users.  We, the Free Software Foundation, use
2748       the GNU General Public License for most of  our  software;  it  applies
2749       also to any other work released this way by its authors.  You can apply
2750       it to your programs, too.
2751
2752       When we speak of free software, we are referring to freedom, not price.
2753       Our General Public Licenses are designed to make sure that you have the
2754       freedom to distribute copies of free software (and charge for  them  if
2755       you  wish),  that you receive source code or can get it if you want it,
2756       that you can change the software or use pieces of it in new  free  pro‐
2757       grams, and that you know you can do these things.
2758
2759       To  protect  your  rights,  we  need to prevent others from denying you
2760       these rights or asking you to surrender  the  rights.   Therefore,  you
2761       have certain responsibilities if you distribute copies of the software,
2762       or if you modify it: responsibilities to respect the freedom of others.
2763
2764       For example, if you distribute copies of such a program, whether gratis
2765       or for a fee, you must pass on to the recipients the same freedoms that
2766       you received.  You must make sure that they, too, receive  or  can  get
2767       the source code.  And you must show them these terms so they know their
2768       rights.
2769
2770       Developers that use the GNU GPL protect your rights with two steps: (1)
2771       assert copyright on the software, and (2) offer you this License giving
2772       you legal permission to copy, distribute and/or modify it.
2773
2774       For the developers' and authors' protection, the GPL  clearly  explains
2775       that  there is no warranty for this free software.  For both users' and
2776       authors' sake, the GPL requires that modified  versions  be  marked  as
2777       changed,  so  that their problems will not be attributed erroneously to
2778       authors of previous versions.
2779
2780       Some devices are designed to deny users access to install or run  modi‐
2781       fied  versions  of  the software inside them, although the manufacturer
2782       can do so.  This is fundamentally incompatible with the aim of protect‐
2783       ing  users'  freedom to change the software.  The systematic pattern of
2784       such abuse occurs in the area of products for individuals to use, which
2785       is  precisely  where  it  is  most  unacceptable.   Therefore,  we have
2786       designed this version of the GPL to prohibit  the  practice  for  those
2787       products.   If  such  problems arise substantially in other domains, we
2788       stand ready to extend this provision to those domains  in  future  ver‐
2789       sions of the GPL, as needed to protect the freedom of users.
2790
2791       Finally,  every  program  is threatened constantly by software patents.
2792       States should not allow patents to  restrict  development  and  use  of
2793       software on general-purpose computers, but in those that do, we wish to
2794       avoid the special danger that patents applied to a free  program  could
2795       make it effectively proprietary.  To prevent this, the GPL assures that
2796       patents cannot be used to render the program non-free.
2797
2798       The precise terms and conditions for copying, distribution and  modifi‐
2799       cation follow.
2800
2801
2802       Definitions.
2803              ``This  License''  refers to version 3 of the GNU General Public
2804              License.
2805
2806              ``Copyright'' also means copyright-like laws that apply to other
2807              kinds of works, such as semiconductor masks.
2808
2809              ``The  Program'' refers to any copyrightable work licensed under
2810              this  License.   Each  licensee   is   addressed   as   ``you''.
2811              ``Licensees'' and ``recipients'' may be individuals or organiza‐
2812              tions.
2813
2814              To ``modify'' a work means to copy from or adapt all or part  of
2815              the work in a fashion requiring copyright permission, other than
2816              the making of an exact copy.  The resulting  work  is  called  a
2817              ``modified  version'' of the earlier work or a work ``based on''
2818              the earlier work.
2819
2820              A ``covered work'' means either the unmodified Program or a work
2821              based on the Program.
2822
2823              To ``propagate'' a work means to do anything with it that, with‐
2824              out permission, would make you directly  or  secondarily  liable
2825              for  infringement under applicable copyright law, except execut‐
2826              ing it on a computer or modifying a private  copy.   Propagation
2827              includes  copying,  distribution (with or without modification),
2828              making available to the public,  and  in  some  countries  other
2829              activities as well.
2830
2831              To  ``convey'' a work means any kind of propagation that enables
2832              other parties to make or receive copies.  Mere interaction  with
2833              a  user  through a computer network, with no transfer of a copy,
2834              is not conveying.
2835
2836              An  interactive  user  interface  displays  ``Appropriate  Legal
2837              Notices'' to the extent that it includes a convenient and promi‐
2838              nently visible feature that (1) displays  an  appropriate  copy‐
2839              right  notice,  and (2) tells the user that there is no warranty
2840              for the work (except to the  extent  that  warranties  are  pro‐
2841              vided),  that  licensees may convey the work under this License,
2842              and how to view a  copy  of  this  License.   If  the  interface
2843              presents  a  list of user commands or options, such as a menu, a
2844              prominent item in the list meets this criterion.
2845
2846
2847       Source Code.
2848              The ``source code'' for a work means the preferred form  of  the
2849              work  for making modifications to it.  ``Object code'' means any
2850              non-source form of a work.
2851
2852              A ``Standard Interface'' means an interface that  either  is  an
2853              official standard defined by a recognized standards body, or, in
2854              the case of interfaces specified for  a  particular  programming
2855              language,  one  that  is widely used among developers working in
2856              that language.
2857
2858              The ``System Libraries'' of an executable work include anything,
2859              other than the work as a whole, that (a) is included in the nor‐
2860              mal form of packaging a Major Component, but which is  not  part
2861              of  that  Major  Component, and (b) serves only to enable use of
2862              the work with that Major Component, or to implement  a  Standard
2863              Interface for which an implementation is available to the public
2864              in source code form.  A ``Major Component'',  in  this  context,
2865              means a major essential component (kernel, window system, and so
2866              on) of the specific operating system (if any) on which the  exe‐
2867              cutable work runs, or a compiler used to produce the work, or an
2868              object code interpreter used to run it.
2869
2870              The ``Corresponding Source'' for a  work  in  object  code  form
2871              means  all the source code needed to generate, install, and (for
2872              an executable work) run the object code and to modify the  work,
2873              including scripts to control those activities.  However, it does
2874              not include the  work's  System  Libraries,  or  general-purpose
2875              tools or generally available free programs which are used unmod‐
2876              ified in performing those activities but which are not  part  of
2877              the  work.  For example, Corresponding Source includes interface
2878              definition files associated with source files for the work,  and
2879              the source code for shared libraries and dynamically linked sub‐
2880              programs that the work is specifically designed to require, such
2881              as  by intimate data communication or control flow between those
2882              subprograms and other parts of the work.
2883
2884              The Corresponding Source need not include  anything  that  users
2885              can regenerate automatically from other parts of the Correspond‐
2886              ing Source.
2887
2888              The Corresponding Source for a work in source code form is  that
2889              same work.
2890
2891
2892       Basic Permissions.
2893              All  rights  granted under this License are granted for the term
2894              of copyright on the Program, and are  irrevocable  provided  the
2895              stated conditions are met.  This License explicitly affirms your
2896              unlimited permission to run the unmodified Program.  The  output
2897              from  running  a covered work is covered by this License only if
2898              the output, given its content, constitutes a covered work.  This
2899              License  acknowledges  your  rights of fair use or other equiva‐
2900              lent, as provided by copyright law.
2901
2902              You may make, run and propagate covered works that  you  do  not
2903              convey,  without  conditions  so  long as your license otherwise
2904              remains in force.  You may convey covered works  to  others  for
2905              the  sole  purpose of having them make modifications exclusively
2906              for you, or provide you with facilities for running those works,
2907              provided  that you comply with the terms of this License in con‐
2908              veying all material for which  you  do  not  control  copyright.
2909              Those  thus  making or running the covered works for you must do
2910              so exclusively on your behalf, under your direction and control,
2911              on terms that prohibit them from making any copies of your copy‐
2912              righted material outside their relationship with you.
2913
2914              Conveying under any  other  circumstances  is  permitted  solely
2915              under the conditions stated below.  Sublicensing is not allowed;
2916              section 10 makes it unnecessary.
2917
2918
2919       Protecting Users' Legal Rights From Anti-Circumvention Law.
2920              No covered work shall be deemed part of an effective technologi‐
2921              cal  measure  under  any  applicable  law fulfilling obligations
2922              under article 11 of the WIPO  copyright  treaty  adopted  on  20
2923              December  1996,  or similar laws prohibiting or restricting cir‐
2924              cumvention of such measures.
2925
2926              When you convey a covered work, you waive  any  legal  power  to
2927              forbid  circumvention  of  technological  measures to the extent
2928              such circumvention is effected by exercising rights  under  this
2929              License  with  respect to the covered work, and you disclaim any
2930              intention to limit operation or modification of the  work  as  a
2931              means of enforcing, against the work's users, your or third par‐
2932              ties' legal rights to forbid circumvention of technological mea‐
2933              sures.
2934
2935
2936       Conveying Verbatim Copies.
2937              You  may  convey verbatim copies of the Program's source code as
2938              you receive it, in any medium, provided that  you  conspicuously
2939              and  appropriately publish on each copy an appropriate copyright
2940              notice; keep intact all notices stating that  this  License  and
2941              any non-permissive terms added in accord with section 7 apply to
2942              the code; keep intact all notices of the  absence  of  any  war‐
2943              ranty; and give all recipients a copy of this License along with
2944              the Program.
2945
2946              You may charge any price or no price for each copy that you con‐
2947              vey, and you may offer support or warranty protection for a fee.
2948
2949
2950       Conveying Modified Source Versions.
2951              You may convey a work based on the Program, or the modifications
2952              to produce it from the Program, in the form of source code under
2953              the terms of section 4, provided that you also meet all of these
2954              conditions:
2955
2956              The work must carry prominent notices stating that you  modified
2957              it, and giving a relevant date.
2958
2959              The  work  must  carry  prominent  notices  stating  that  it is
2960              released under this License and any conditions added under  sec‐
2961              tion  7.  This requirement modifies the requirement in section 4
2962              to ``keep intact all notices''.
2963
2964              You must license the entire work, as a whole, under this License
2965              to  anyone  who  comes  into possession of a copy.  This License
2966              will therefore apply, along with any applicable section 7  addi‐
2967              tional  terms,  to  the  whole  of  the work, and all its parts,
2968              regardless of how they are packaged.  This License gives no per‐
2969              mission  to  license  the work in any other way, but it does not
2970              invalidate such permission if you have separately received it.
2971
2972              If the work has interactive user interfaces, each  must  display
2973              Appropriate  Legal Notices; however, if the Program has interac‐
2974              tive interfaces that do not display Appropriate  Legal  Notices,
2975              your work need not make them do so.
2976
2977              A compilation of a covered work with other separate and indepen‐
2978              dent works, which are not by their nature extensions of the cov‐
2979              ered  work, and which are not combined with it such as to form a
2980              larger program, in or on a volume of a storage  or  distribution
2981              medium,  is  called  an ``aggregate'' if the compilation and its
2982              resulting copyright are not used to limit the  access  or  legal
2983              rights  of  the  compilation's  users beyond what the individual
2984              works permit.  Inclusion of a covered work in an aggregate  does
2985              not cause this License to apply to the other parts of the aggre‐
2986              gate.
2987
2988
2989       Conveying Non-Source Forms.
2990              You may convey a covered work in  object  code  form  under  the
2991              terms  of  sections  4  and 5, provided that you also convey the
2992              machine-readable Corresponding Source under the  terms  of  this
2993              License, in one of these ways:
2994
2995              Convey  the  object  code in, or embodied in, a physical product
2996              (including a physical distribution medium), accompanied  by  the
2997              Corresponding  Source fixed on a durable physical medium custom‐
2998              arily used for software interchange.
2999
3000              Convey the object code in, or embodied in,  a  physical  product
3001              (including  a  physical  distribution  medium), accompanied by a
3002              written offer, valid for at least three years and valid  for  as
3003              long as you offer spare parts or customer support for that prod‐
3004              uct model, to give anyone who possesses the object  code  either
3005              (1)  a  copy of the Corresponding Source for all the software in
3006              the product that is covered by this License, on a durable physi‐
3007              cal  medium  customarily  used  for  software interchange, for a
3008              price no more than your reasonable cost of physically performing
3009              this  conveying of source, or (2) access to copy the Correspond‐
3010              ing Source from a network server at no charge.
3011
3012              Convey individual copies of the object code with a copy  of  the
3013              written  offer to provide the Corresponding Source.  This alter‐
3014              native is allowed only  occasionally  and  noncommercially,  and
3015              only  if  you  received  the  object code with such an offer, in
3016              accord with subsection 6b.
3017
3018              Convey the object code by  offering  access  from  a  designated
3019              place  (gratis  or for a charge), and offer equivalent access to
3020              the Corresponding Source in the same way through the same  place
3021              at  no  further charge.  You need not require recipients to copy
3022              the Corresponding Source along with the  object  code.   If  the
3023              place  to  copy  the object code is a network server, the Corre‐
3024              sponding Source may be on a different server (operated by you or
3025              a third party) that supports equivalent copying facilities, pro‐
3026              vided you maintain clear directions next to the object code say‐
3027              ing  where to find the Corresponding Source.  Regardless of what
3028              server hosts the Corresponding Source, you remain  obligated  to
3029              ensure  that  it  is  available for as long as needed to satisfy
3030              these requirements.
3031
3032              Convey the object code using peer-to-peer transmission, provided
3033              you  inform  other peers where the object code and Corresponding
3034              Source of the work are being offered to the general public at no
3035              charge under subsection 6d.
3036
3037              A  separable  portion  of  the object code, whose source code is
3038              excluded from the Corresponding Source as a System Library, need
3039              not be included in conveying the object code work.
3040
3041              A  ``User  Product'' is either (1) a ``consumer product'', which
3042              means any tangible personal property which is normally used  for
3043              personal,   family,  or  household  purposes,  or  (2)  anything
3044              designed or sold for incorporation into a dwelling.   In  deter‐
3045              mining  whether  a product is a consumer product, doubtful cases
3046              shall be resolved in favor of coverage.  For a particular  prod‐
3047              uct received by a particular user, ``normally used'' refers to a
3048              typical or common use of that class of  product,  regardless  of
3049              the  status  of  the  particular user or of the way in which the
3050              particular user actually uses, or expects or is expected to use,
3051              the  product.   A  product  is  a consumer product regardless of
3052              whether the product has substantial  commercial,  industrial  or
3053              non-consumer  uses, unless such uses represent the only signifi‐
3054              cant mode of use of the product.
3055
3056              ``Installation Information'' for a User Product means any  meth‐
3057              ods,   procedures,  authorization  keys,  or  other  information
3058              required to install and execute modified versions of  a  covered
3059              work  in that User Product from a modified version of its Corre‐
3060              sponding Source.  The information must suffice  to  ensure  that
3061              the  continued  functioning of the modified object code is in no
3062              case prevented or interfered with  solely  because  modification
3063              has been made.
3064
3065              If  you  convey  an  object  code work under this section in, or
3066              with, or specifically for use in, a User Product, and  the  con‐
3067              veying  occurs  as  part  of a transaction in which the right of
3068              possession and use of the User Product  is  transferred  to  the
3069              recipient  in  perpetuity or for a fixed term (regardless of how
3070              the transaction is characterized), the Corresponding Source con‐
3071              veyed under this section must be accompanied by the Installation
3072              Information.  But this requirement does not apply if neither you
3073              nor  any  third  party  retains  the ability to install modified
3074              object code on the User Product (for example, the work has  been
3075              installed in ROM).
3076
3077              The  requirement  to  provide  Installation Information does not
3078              include a requirement to continue to  provide  support  service,
3079              warranty,  or  updates  for  a  work  that  has been modified or
3080              installed by the recipient, or for the User Product in which  it
3081              has  been  modified  or  installed.   Access to a network may be
3082              denied when the modification  itself  materially  and  adversely
3083              affects  the  operation of the network or violates the rules and
3084              protocols for communication across the network.
3085
3086              Corresponding Source conveyed, and Installation Information pro‐
3087              vided,  in  accord with this section must be in a format that is
3088              publicly documented (and with an implementation available to the
3089              public  in  source code form), and must require no special pass‐
3090              word or key for unpacking, reading or copying.
3091
3092
3093       Additional Terms.
3094              ``Additional permissions'' are terms that supplement  the  terms
3095              of  this  License  by  making exceptions from one or more of its
3096              conditions.  Additional permissions that are applicable  to  the
3097              entire  Program shall be treated as though they were included in
3098              this License, to the extent that they are valid under applicable
3099              law.   If  additional permissions apply only to part of the Pro‐
3100              gram, that part may be used separately under those  permissions,
3101              but  the entire Program remains governed by this License without
3102              regard to the additional permissions.
3103
3104              When you convey a copy of a covered work, you may at your option
3105              remove  any  additional  permissions from that copy, or from any
3106              part of it.  (Additional permissions may be written  to  require
3107              their  own  removal  in certain cases when you modify the work.)
3108              You may place additional permissions on material, added  by  you
3109              to  a  covered  work, for which you have or can give appropriate
3110              copyright permission.
3111
3112              Notwithstanding any other provision of this License,  for  mate‐
3113              rial  you  add  to a covered work, you may (if authorized by the
3114              copyright holders of that material) supplement the terms of this
3115              License with terms:
3116
3117              Disclaiming  warranty or limiting liability differently from the
3118              terms of sections 15 and 16 of this License; or
3119
3120              Requiring preservation of specified reasonable legal notices  or
3121              author attributions in that material or in the Appropriate Legal
3122              Notices displayed by works containing it; or
3123
3124              Prohibiting misrepresentation of the origin of that material, or
3125              requiring  that  modified versions of such material be marked in
3126              reasonable ways as different from the original version; or
3127
3128              Limiting the use for publicity purposes of names of licensors or
3129              authors of the material; or
3130
3131              Declining  to  grant  rights under trademark law for use of some
3132              trade names, trademarks, or service marks; or
3133
3134              Requiring indemnification of licensors and authors of that mate‐
3135              rial by anyone who conveys the material (or modified versions of
3136              it) with contractual assumptions of liability to the  recipient,
3137              for  any  liability  that these contractual assumptions directly
3138              impose on those licensors and authors.
3139
3140              All other non-permissive additional terms are considered  ``fur‐
3141              ther  restrictions''  within  the meaning of section 10.  If the
3142              Program as you received it, or any part of it, contains a notice
3143              stating  that  it  is governed by this License along with a term
3144              that is a further restriction, you may remove that term.   If  a
3145              license  document  contains  a  further  restriction but permits
3146              relicensing or conveying under this License, you may  add  to  a
3147              covered work material governed by the terms of that license doc‐
3148              ument, provided that the further restriction  does  not  survive
3149              such relicensing or conveying.
3150
3151              If  you add terms to a covered work in accord with this section,
3152              you must place, in the relevant source files, a statement of the
3153              additional terms that apply to those files, or a notice indicat‐
3154              ing where to find the applicable terms.
3155
3156              Additional terms, permissive or non-permissive, may be stated in
3157              the  form  of  a separately written license, or stated as excep‐
3158              tions; the above requirements apply either way.
3159
3160
3161       Termination.
3162              You may not  propagate  or  modify  a  covered  work  except  as
3163              expressly provided under this License.  Any attempt otherwise to
3164              propagate or modify it is void, and will automatically terminate
3165              your  rights  under  this License (including any patent licenses
3166              granted under the third paragraph of section 11).
3167
3168              However, if you cease all violation of this License,  then  your
3169              license  from  a  particular  copyright holder is reinstated (a)
3170              provisionally, unless and until the copyright holder  explicitly
3171              and finally terminates your license, and (b) permanently, if the
3172              copyright holder fails to notify you of the  violation  by  some
3173              reasonable means prior to 60 days after the cessation.
3174
3175              Moreover,  your  license  from  a particular copyright holder is
3176              reinstated permanently if the copyright holder notifies  you  of
3177              the  violation  by some reasonable means, this is the first time
3178              you have received notice of violation of this License  (for  any
3179              work)  from  that  copyright  holder, and you cure the violation
3180              prior to 30 days after your receipt of the notice.
3181
3182              Termination of your rights under this section does not terminate
3183              the  licenses of parties who have received copies or rights from
3184              you under this License.  If your rights have been terminated and
3185              not  permanently  reinstated,  you do not qualify to receive new
3186              licenses for the same material under section 10.
3187
3188
3189       Acceptance Not Required for Having Copies.
3190              You are not required to accept this License in order to  receive
3191              or  run  a copy of the Program.  Ancillary propagation of a cov‐
3192              ered work occurring solely as a consequence  of  using  peer-to-
3193              peer  transmission  to  receive a copy likewise does not require
3194              acceptance.  However, nothing other than this License grants you
3195              permission  to  propagate  or  modify  any  covered work.  These
3196              actions infringe copyright if you do not  accept  this  License.
3197              Therefore, by modifying or propagating a covered work, you indi‐
3198              cate your acceptance of this License to do so.
3199
3200
3201       Automatic Licensing of Downstream Recipients.
3202              Each time you convey a covered work, the recipient automatically
3203              receives  a  license from the original licensors, to run, modify
3204              and propagate that work, subject to this License.  You  are  not
3205              responsible  for enforcing compliance by third parties with this
3206              License.
3207
3208              An ``entity transaction'' is a transaction transferring  control
3209              of  an organization, or substantially all assets of one, or sub‐
3210              dividing an organization, or merging organizations.  If propaga‐
3211              tion  of a covered work results from an entity transaction, each
3212              party to that transaction who receives a copy of the  work  also
3213              receives  whatever  licenses to the work the party's predecessor
3214              in interest had or could give under the previous paragraph, plus
3215              a  right  to  possession of the Corresponding Source of the work
3216              from the predecessor in interest, if the predecessor has  it  or
3217              can get it with reasonable efforts.
3218
3219              You  may  not impose any further restrictions on the exercise of
3220              the rights granted or affirmed under this License.  For example,
3221              you  may  not impose a license fee, royalty, or other charge for
3222              exercise of rights granted under this License, and you  may  not
3223              initiate  litigation (including a cross-claim or counterclaim in
3224              a lawsuit) alleging that any patent claim is infringed  by  mak‐
3225              ing, using, selling, offering for sale, or importing the Program
3226              or any portion of it.
3227
3228
3229       Patents.
3230              A ``contributor'' is a copyright holder who authorizes use under
3231              this  License  of  the Program or a work on which the Program is
3232              based.  The work  thus  licensed  is  called  the  contributor's
3233              ``contributor version''.
3234
3235              A  contributor's  ``essential  patent  claims''  are  all patent
3236              claims owned or controlled by the contributor,  whether  already
3237              acquired  or hereafter acquired, that would be infringed by some
3238              manner, permitted by this License, of making, using, or  selling
3239              its contributor version, but do not include claims that would be
3240              infringed only as a consequence of further modification  of  the
3241              contributor  version.   For  purposes of this definition, ``con‐
3242              trol'' includes the right to grant patent sublicenses in a  man‐
3243              ner consistent with the requirements of this License.
3244
3245              Each contributor grants you a non-exclusive, worldwide, royalty-
3246              free patent license under  the  contributor's  essential  patent
3247              claims, to make, use, sell, offer for sale, import and otherwise
3248              run, modify and propagate the contents of its  contributor  ver‐
3249              sion.
3250
3251              In  the  following three paragraphs, a ``patent license'' is any
3252              express agreement or commitment,  however  denominated,  not  to
3253              enforce  a  patent  (such as an express permission to practice a
3254              patent or covenant not to  sue  for  patent  infringement).   To
3255              ``grant'' such a patent license to a party means to make such an
3256              agreement or commitment not to  enforce  a  patent  against  the
3257              party.
3258
3259              If  you  convey  a  covered  work, knowingly relying on a patent
3260              license, and the Corresponding Source of the work is not  avail‐
3261              able  for  anyone to copy, free of charge and under the terms of
3262              this License, through a publicly  available  network  server  or
3263              other  readily  accessible means, then you must either (1) cause
3264              the Corresponding Source to be so available, or (2)  arrange  to
3265              deprive  yourself  of the benefit of the patent license for this
3266              particular work, or (3) arrange, in a manner consistent with the
3267              requirements  of  this  License, to extend the patent license to
3268              downstream recipients.  ``Knowingly  relying''  means  you  have
3269              actual  knowledge that, but for the patent license, your convey‐
3270              ing the covered work in a country, or your  recipient's  use  of
3271              the  covered work in a country, would infringe one or more iden‐
3272              tifiable patents in that country that you have reason to believe
3273              are valid.
3274
3275              If,  pursuant  to  or in connection with a single transaction or
3276              arrangement, you convey, or propagate  by  procuring  conveyance
3277              of,  a  covered  work, and grant a patent license to some of the
3278              parties receiving the covered  work  authorizing  them  to  use,
3279              propagate, modify or convey a specific copy of the covered work,
3280              then the patent license you grant is automatically  extended  to
3281              all recipients of the covered work and works based on it.
3282
3283              A  patent  license  is ``discriminatory'' if it does not include
3284              within the scope of its coverage, prohibits the exercise of,  or
3285              is  conditioned on the non-exercise of one or more of the rights
3286              that are specifically granted under this License.  You  may  not
3287              convey  a covered work if you are a party to an arrangement with
3288              a third party that is in the business of distributing  software,
3289              under  which  you  make  payment to the third party based on the
3290              extent of your activity of conveying the work, and  under  which
3291              the  third party grants, to any of the parties who would receive
3292              the covered work from you, a discriminatory patent  license  (a)
3293              in  connection  with  copies of the covered work conveyed by you
3294              (or copies made from those copies), or (b) primarily for and  in
3295              connection  with  specific products or compilations that contain
3296              the covered work, unless you entered into that  arrangement,  or
3297              that patent license was granted, prior to 28 March 2007.
3298
3299              Nothing  in this License shall be construed as excluding or lim‐
3300              iting any implied license or other defenses to infringement that
3301              may otherwise be available to you under applicable patent law.
3302
3303
3304       No Surrender of Others' Freedom.
3305              If conditions are imposed on you (whether by court order, agree‐
3306              ment or  otherwise)  that  contradict  the  conditions  of  this
3307              License,  they  do  not  excuse  you from the conditions of this
3308              License.  If you cannot convey a covered work so as  to  satisfy
3309              simultaneously your obligations under this License and any other
3310              pertinent obligations, then as a consequence you may not  convey
3311              it at all.  For example, if you agree to terms that obligate you
3312              to collect a royalty for further conveying from  those  to  whom
3313              you  convey  the  Program,  the  only way you could satisfy both
3314              those terms and this License would be to refrain  entirely  from
3315              conveying the Program.
3316
3317
3318       Use with the GNU Affero General Public License.
3319              Notwithstanding  any  other  provision of this License, you have
3320              permission to link or combine  any  covered  work  with  a  work
3321              licensed  under  version  3  of  the  GNU  Affero General Public
3322              License into a single combined work, and to convey the resulting
3323              work.   The  terms of this License will continue to apply to the
3324              part which is the covered work, but the special requirements  of
3325              the  GNU  Affero  General Public License, section 13, concerning
3326              interaction through a network will apply to the  combination  as
3327              such.
3328
3329
3330       Revised Versions of this License.
3331              The Free Software Foundation may publish revised and/or new ver‐
3332              sions of the GNU General Public License from time to time.  Such
3333              new  versions  will be similar in spirit to the present version,
3334              but may differ in detail to address new problems or concerns.
3335
3336              Each version is given a distinguishing version number.   If  the
3337              Program  specifies  that  a  certain numbered version of the GNU
3338              General Public License ``or any later version'' applies  to  it,
3339              you have the option of following the terms and conditions either
3340              of that numbered version or of any later  version  published  by
3341              the Free Software Foundation.  If the Program does not specify a
3342              version number of the GNU General Public License, you may choose
3343              any version ever published by the Free Software Foundation.
3344
3345              If  the  Program  specifies that a proxy can decide which future
3346              versions of the GNU General Public License  can  be  used,  that
3347              proxy's  public statement of acceptance of a version permanently
3348              authorizes you to choose that version for the Program.
3349
3350              Later license versions may give you additional or different per‐
3351              missions.  However, no additional obligations are imposed on any
3352              author or copyright holder as a result of your choosing to  fol‐
3353              low a later version.
3354
3355
3356       Disclaimer of Warranty.
3357              THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
3358              APPLICABLE LAW.  EXCEPT WHEN OTHERWISE  STATED  IN  WRITING  THE
3359              COPYRIGHT  HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM ``AS
3360              IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR  IMPLIED,
3361              INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED WARRANTIES OF MER‐
3362              CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.   THE  ENTIRE
3363              RISK  AS  TO  THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
3364              YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
3365              ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
3366
3367
3368       Limitation of Liability.
3369              IN  NO  EVENT  UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
3370              WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO  MODI‐
3371              FIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO
3372              YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,  INCIDENTAL  OR
3373              CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
3374              THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA  OR  DATA
3375              BEING  RENDERED  INACCURATE  OR LOSSES SUSTAINED BY YOU OR THIRD
3376              PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE  WITH  ANY  OTHER
3377              PROGRAMS),  EVEN  IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED
3378              OF THE POSSIBILITY OF SUCH DAMAGES.
3379
3380
3381       Interpretation of Sections 15 and 16.
3382              If the disclaimer of warranty and limitation of  liability  pro‐
3383              vided  above  cannot  be  given  local legal effect according to
3384              their terms, reviewing courts shall apply local  law  that  most
3385              closely  approximates  an absolute waiver of all civil liability
3386              in connection with the Program, unless a warranty or  assumption
3387              of  liability  accompanies a copy of the Program in return for a
3388              fee.
3389
3390              If you develop a new program, and you  want  it  to  be  of  the
3391              greatest  possible  use  to  the public, the best way to achieve
3392              this is to make it free software which everyone can redistribute
3393              and change under these terms.
3394
3395              To  do  so,  attach the following notices to the program.  It is
3396              safest to attach them to the start of each source file  to  most
3397              effectively  state  the  exclusion  of  warranty;  and each file
3398              should have at least the ``copyright'' line  and  a  pointer  to
3399              where the full notice is found.
3400
3401              ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
3402              Copyright (C) YEAR NAME OF AUTHOR
3403
3404              This program is free software: you can redistribute it and/or modify
3405              it under the terms of the GNU General Public License as published by
3406              the Free Software Foundation, either version 3 of the License, or (at
3407              your option) any later version.
3408
3409              This program is distributed in the hope that it will be useful, but
3410              WITHOUT ANY WARRANTY; without even the implied warranty of
3411              MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
3412              General Public License for more details.
3413
3414              You should have received a copy of the GNU General Public License
3415              along with this program.  If not, see `http://www.gnu.org/licenses/'.
3416
3417              Also  add  information  on  how to contact you by electronic and
3418              paper mail.
3419
3420              If the program does terminal interaction, make it output a short
3421              notice like this when it starts in an interactive mode:
3422
3423              PROGRAM Copyright (C) YEAR NAME OF AUTHOR
3424              This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
3425              This is free software, and you are welcome to redistribute it
3426              under certain conditions; type `show c' for details.
3427
3428              The  hypothetical commands `show w' and `show c' should show the
3429              appropriate parts of the General  Public  License.   Of  course,
3430              your program's commands might be different; for a GUI interface,
3431              you would use an ``about box''.
3432
3433              You should also get your employer (if you work as a  programmer)
3434              or  school,  if  any, to sign a ``copyright disclaimer'' for the
3435              program, if necessary.  For more information on this, and how to
3436              apply       and      follow      the      GNU      GPL,      see
3437              `http://www.gnu.org/licenses/'.
3438
3439              The GNU General Public License  does  not  permit  incorporating
3440              your  program  into  proprietary programs.  If your program is a
3441              subroutine library, you may consider it more  useful  to  permit
3442              linking  proprietary  applications with the library.  If this is
3443              what you want to do, use the GNU Lesser General  Public  License
3444              instead    of    this   License.    But   first,   please   read
3445              `http://www.gnu.org/philosophy/why-not-lgpl.html'.
3446
3447
3448
3449
3450GNU                                 $Date:                           xboard(6)
Impressum