Expand User Guide
[xboard.git] / whats_new / UserGuide.html
1 <h2>XBoard user guide</h2>
2 <p>
3 Xboard consists of a main window, displaying a chess board and clocks,
4 as well as a number of auxiliary windows dedicated to holding additional,
5 not strictly necessary information.
6 Depending on what you are using it for 
7 (game viewer, playing on internet server, playing with engine(s)),
8 that information could be useful or irrelevant,
9 and you can open or close these windows accordingly.
10 The auxiliary windows are:
11 </p>
12 <ul>
13 <li><a href="#tag-A1">Game list</a>, giving the table of contents of the loaded PGN file</li>
14 <li><a href="#tag-A2">Comment window</a>, where you can view or edit comments (and variations) to the move</li>
15 <li><a href="#tag-A3">Tags window</a>, where you can see and edit the tags of the currently loaded game</li>
16 <li><a href="#tag-A4">Move list</a>, where the moves of the current game are shown as text</li>
17 <li><a href="#tag-A5">Engine output</a>, where you can see the variations an engine is dreaming up</li>
18 <li><a href="#tag-A6">Evaluation graph</a>, which shows you how the engine score evolves over the current game</li>
19 <li><a href="#tag-A7">ICS interaction console</a>, a terminal window where you communicate with an internet server</li>
20 </ul>
21 <p>
22 These auxiliary windows can be kept open all the time, and tiled so they are always in view,
23 without disturbing the operation of the main (chess-boadrd) window.
24 In addition, there are a large number of dialog windows that grab the full attention of the user interface,
25 so that the block operation of anything else.
26 These are used for altering the settings of XBoard during the session.
27 </p>
28 <p>
29 Below we will first describe the operation of the main and auxiliary windows in detail.
30 After that the function of the various menu dialogs will be discussed.
31 </p>
32
33 <table cellpadding="20"><tr><td valign="top">
34 <h3>The main XBoard window</h3>
35 <p>
36 The main window contains several elements:
37 </p>
38 <ul>
39 <li>A title bar, actively used to display information</li>
40 <li>A menu bar, through which you can control XBoard</li>
41 <li>Two chess clocks, for white and black</li>
42 <li>An optional button bar, with which you an navigate through the current game</li>
43 <li>A single-line message field, where moves, variation, and sometimes texts are displayed</li>
44 <li>An area where the chess board (and sometimes other stuff) is drawn</li>
45 </ul>
46 <p>
47 The elements are mostly operated using the mouse, sometimes in combination with the keyboard.
48 Many keystrokes have been assigned a shortcut function, however, as an alternative to operating the menu bar with the mouse.
49 It is mainly non-printable keystrokes involving Alt and Ctrl key that act as shortcuts;
50 typing printable characters make an input box pop up where you can finish the typing while you see it,
51 to type stuff to XBoard (e.g. chess moves).
52 The menu bar is otherwise a quite normal menu bar, that you can operate both with left and right mouse button.
53 </p>
54 <p>
55 The message field above the board has no input function, 
56 and is only used to display simple error messages (such as "It is not your turn"),
57 or alerts ("draw pawn backwards to under-promote"),
58 the last move played,
59 or the latest 'principal variation' computed by an engine.
60 </p>
61 <p>
62 The button bar to the right of the message field
63 is used to step through the currently loaded game, move by move, or directly to beginning or end.
64 This can also be done through the menu (very clumsy!) or with the arrow keys on the keyboard (probably preferable).
65 </p>
66 </td><td valign ="top">
67 <img src="4.5.0/Spartan.png">
68 </td></tr></table>
69 <p>
70 The principal element of the main window is the chess board.
71 Its main function is of course to enter chess moves, but it has several other functions as well.
72 To move pieces, you use the left mouse button (button 1).
73 You can do this either by first clicking the piece you want to move,
74 and then the square you want to move it to ('click-click move'),
75 or by 'grabbing' the piece by pressing the mouse button,
76 drag it to its destination square, and release the mouse button there ('drag-drop moving').
77 Normally XBoard would show you the piece being dragged around 
78 (although this 'animate dragging' can be switched off).
79 The move you just made can be highlighted by drawing colored borders around the from- and to-square,
80 or by drawing an arrow between them.
81 </p>
82 <p>
83 With click-click moving the first click selects the piece, and such a selected piece will already be highlighted.
84 You also would get this effect after dragging around a piece, but releasing it on its original square;
85 this simply counts as a static click on the piece.
86 You still have the possibility to select another piece, by clicking it:
87 only a clicked empty square or opponent piece will be interpreted as a to-square.
88 You can also deselect the selected piece by clicking it, in which case the highlight on it will go off.
89 </p>
90 <p>
91 Keeping the Shift key down while entering a move gives it a special meaning:
92 the move is in that case not added to the mainline of the game (possibly truncating it first),
93 but as a variation, so that you can Revert to the original game later.
94 </p>
95 <p>
96 <b>Variation board -</b> A right-click (anywhere) on the chess board will normally be taken as a request to 'walk' the latest principal variation indicated by an engine.
97 This would normally be the one displayed in the message field.
98 By keeping the right mouse button (button 3) down, and moving the mouse vertically,
99 XBoard will start to step through the moves indicated by the engine,
100 so you see them played out on the chess board.
101 (This is sometimes called a 'variation board'.)
102 You can continue to step forward and backward through the engine line as long as you keep the button down.
103 </p>
104 <p>
105 The variation board is only useful when playing with engines.
106 When logged on to an Internet Chess server, 
107 there is an option to push observation of other games while you are playing 'to the background'.
108 That is, boards from those other games are not immediately displayed, overwriting your own position,
109 but XBoard will silently remember the most-recent such board.
110 You can then have a peek at it by right-clicking the board, for as long as you keep the mouse button down.
111 On release the board switches back to displaying your own game.
112 This can be useful in bughouse to see how your partner is doing.
113 </p>
114 <p>
115 When setting up a position ('Edit Position mode'), things work a bit differently, 
116 because you are not bound by any chess rules in that case.
117 In a click-click move any second click would be a to-square,
118 even if it captures a piece of your own.
119 You will also be able to move empty squares and even 'capture' pieces with them,
120 or drag pieces off the board to get rid of them.
121 But the most important difference is the function of the right-click,
122 which now is used to put a new piece on the square you clicked.
123 Depending on the settings, this can either go through popping up a menu from which you select,
124 or by making a vertical sweep with the mouse, keeping button 3 down,
125 which will make the identity of the newly introduced piece cycle through all possible choices,
126 so that you can release the button when you see the one you want ('sweep selection').
127 This will always start by dropping a Pawn in the clicked square (as you typically need those most);
128 this will be a black Pawn unless you kept the Shift key pressed, (or use button 2),
129 in which case it starts with a white Pawn.
130 </p>
131 <table cellpadding="20"><tr><td valign="top">
132 <img src="4.5.0/seekgraph.png">
133 </td><td valign ="top">
134 <p>
135 The clocks are mainly meant as output fields, but in some situations they also accept mouse clicks.
136 What the clicks do varies.
137 They can be taken as a signal you want to claim the game because the opponent has flagged
138 (when his clock displays a negative number).
139 When you keep the Shift key pressed during the click, you can adjust the clocks by adding (right-click) or subtracting (left-click) a minute.
140 In situations where this could be meaningful, clicking the clock of the side that does not have the move will transfer the turn to him.
141 (Such turn passing is obviously illegal in chess, so you cannot do that while playing a game,
142 but in analysis or for setting up a position, it ican be useful and is allowed.)
143 When setting up a position, clicking the clock of the side that already has the move
144 will clear the board.
145 </p>
146 <p>
147 <b>Seek graph -</b> When logged in to an Internet Chess Server, the area where the board is normally drawn doubles as 'seek graph',
148 where you can see who is looking for what type of game.
149 This only applies when the board is not in use, i.e. when you are not playing, examining or observing a game.
150 In this 'idle' mode, left-clicking the board anywhere will request information from the ICS and draw the seek graph accordingly.
151 Left-clicking on a dot in the seek graph makes you challenge the corresponding player,
152 while left-clicking off-dots would erase the seek graph, and replace it by the normal board display.
153 Right-clicking the seek graph off-dots would refresh it (only needed on ICS that cannot do that automatically).
154 On a busy server dots can sometimes cluster so densely you no longer can reach those that hide behind others;
155 in this case right-clicking on a dot would 'push it to the back', so that dots behind it now get to the foreground.
156 When you hover over a dot the message window will show you the details of the corresponding seek ad,
157 and an exclamation point there will warn you there were dots hiding behind it.
158 </p>
159 </td></tr></table>
160 <ul>
161 <li>Detour Under-promotion (<a href="#tags-B1">General Options</a>) determines if a promotion menu will pop up on promotion moves</li>
162 <li>-pieceMenu (command-line option) determines if a right-click invokes a menu in Edit Position mode</li>
163 <li>Drop Menu (<a href="#tags-B1">General Options</a>) determines if a right-click in bughouse invokes a drop menu</li>
164 <li>Animate Dragging (<a href="#tags-B1">General Options</a>) determines if you will see the piece being dragged</li>
165 <li>Seek Graph (<a href="#tags-B9">ICS Options</a>) determines if left-clicks can call up the seek graph</li>
166 <li>Highlight Last Move (<a href="#tags-B1">General Options</a>) controls if clicking squares highlights them</li>
167 <li>Highlight with Arrow (<a href="#tags-B1">General Options</a>) controls if an arrow is drawn between from- and to-square</li>
168 <li>One-click moving (<a href="#tags-B1">General Options</a>) can make a piece move by clicking only from- or to-square</li>
169 <li>Show Target Squares (<a href="#tags-B1">General Options</a>) marks square where the selected / dragged piece can move to</li>
170 <li>Hide Thinking from Human (<a href="#tags-B1">General Options</a>) determines if engine thinking is displayed in the message field</li>
171 <li>-variations (command-line option) determines whether you can enter variations</li>
172 <li>-showButtonBar (command-line option) determines whether the navigation buttons are present</li>
173 </ul>
174
175 <h3><a name="tag-A2">Comment window</h3>
176 <table cellpadding="20"><tr><td valign="top">
177 <p>
178 The Comment window displays comments and variations from the PGN file belonging to the current move,
179 and will automatically update when you step through the game.
180 Left clicks in the Comment window are reserved for the normal editing functions (selecting, drag-drop edition).
181 The right button can be used to click on a PGN variation
182 (a sequence of alternative moves enclosed in parentheses) on the current move.
183 In this case XBoard will 'upgrade' this variation to become the main line of the curent game
184 (the original main line being shelved in its memory, so you can 'Revert' to it later).
185 You can then step through the variation to make it visible on the board.
186 </p>
187 <ul>
188 <li>Auto-dispay comment (<a href="#tags-B10">Load Options</a>) causes automatic pop up whenever you encounter a commented move.</li>
189 </ul>
190 </td><td valign ="top">
191 <img src="Comment.png">
192 </td></tr></table>
193
194 <h3><a name="tag-A5">Engine output</h3>
195 <p>
196 As its name suggests, the engine-output window is only useful when an engine is involved.
197 (This an be can engine you connect to through an Internet Chess Server, however.)
198 Engines print how they think the game would continue if poth sides play the moves the engine considers best,
199 the so called 'Principal Variation',
200 at ever increasing search depth.
201 These PV lines are diplayed in the engine-output window, preceded by the search depth at which they were found,
202 and the score assigned to them, (plus the less interesting time and number of positions searched).
203 </p>
204 <table cellpadding="20"><tr><td valign="top">
205 <img src="4.4.0/EngOutXB.png">
206 </td><td valign ="top">
207 <p>
208 Left clicks in the Engine Output window are reserved for the normal editing functions,
209 although in this case only selecting for the purpose of copying would be a useful action.
210 The right button can be used to click on a PV indicated by the engine.
211 In this case that PV will be played out on the chess board when you move the mouse vertically with the button still down
212 (i.e. use the main board as 'variation board').
213 The behavior in analysis mode is a bit different from that in other modes:
214 when you release the button, the position on the variation board becomes the new position to analyse,
215 and all moves leading up to it will be added to the game.
216 Because the variation walk will start in the position after the first PV move there,
217 a static click on a PV would just make you play the suggested engine move.
218 In other modes, walking a PV will start at the end of the PV, and never change the game.
219 When you release the button, you will simply jump back to the original game.
220 When an engine produces a move, XBoard would force you back to the real game anyway, even without releasing the button.
221 </p>
222 <p>
223 Some engines support a multi-PV mode, where they don't only give continuations for the best move,
224 but also for second-best, or more.
225 In this case XBoard will print a header line above the PV's containing the words 'fewer' and 'more',
226 and when you right-click on those, the number of moves the engine calculates will be decreased or increased.
227 </p>
228 </td></tr></table>
229
230 <h3><a name="tag-A4">Move list</h3>
231 <table cellpadding="20"><tr><td valign="top">
232 <p>
233 The Move List contains the game in SAN notation, with or without score/depth information included as comments to the moves.
234 Left clicks in the Move List are reserved for the normal editing functions,
235 although in this case only selecting for the purpose of copying would be a useful action.
236 Right-clicking on a move (in WinBoard: left-double-clicking) will navigate you to the position after that move
237 (i.e. display that position on the board, and allow you to step through the game from there).
238 </p>
239 <ul>
240 <li>Scores in Move List (<a href="#tags-B1">General Options</a>) enables inclusion of engine score/depth</li>
241 </ul>
242 </td><td valign ="top">
243 <img src="4.6.0/History.png">
244 </td></tr></table>
245
246 <h3><a name="tag-A6">Evaluation graph</h3>
247 <table cellpadding="20"><tr><td valign="top">
248 <img src="4.6.0/Zoom.png">
249 </td><td valign ="top">
250 <p>
251 The evaluation graph displays how the engine score evolved over the game,
252 either as a histogram, or (when space gets too tight), as a drawn line.
253 If two engines are playing, each side has its own histogram / line,
254 distinguishable by their color.
255 Clicking in the graph navigates you to the position corrsponding to the point where you clicked.
256 </p>
257 <ul>
258 <li>Zoom factor (<a href="#tags-B1">General Options</a>) set magnifiation of the {-1, 1} score range</li>
259 <li>-evalThreshold (command-line option) minimum score to be considered different from 0</li>
260 </ul>
261 </td></tr></table>
262
263 <h3><a name="tag-A1">Game List</h3>
264 <p>
265 The Game List displays a table of contents of the urrently loaded PGN file as a listbox.
266 The lines in the listbox are composed of the PGN tags of the game,
267 in a user-configurable way.
268 Clicking on such a line would load the corresponding game, so you can navigate through it.
269 The currently loaded game will be highlighted in the list.
270 Using Up or Down arrow keys while the Game List window has focus will move the highlight to the previous / next game,
271 while typing &lt;Enter> will load the game.
272 </p>
273 <table cellpadding="20"><tr><td valign="top">
274 <p>
275 The Game List window includes a number of controls at the bottom,
276 to select a subset of the games for display in the window.
277 A 'Filter' field allows you to enter a text, where then only header lines containing that text will b displayed.
278 You can furthermore select on positions occurring in the game,
279 through the 'Find Position' button.
280 When you do that, only those games containing the position currently on the board
281 (or enough like it, according to the matching criterea you specified in the Load Game Options dialog,
282 reachable through the 'Thresholds' button)
283 will remain in the list, in that case.
284 </p>
285 <ul>
286 <li>(<a href="#tags-B11">Game List Options</a>) selects the PGN tags included in the header</li>
287 <li>(<a href="#tags-B10">Load Options</a>) can set all kind of filter and position-search criteria</li>
288 </ul>
289 </td><td valign ="top">
290 <img src="NewGameList.png">
291 </td></tr></table>
292
293 <h3><a name="tag-A3">Tags window</h3>
294 <p>
295 The Tags window is a text window that supports normal editing functions,
296 but otherise has no special functions.
297 It can be used to view or edit the PGN tags of the stored game.
298 To save any changes brought about by editing, you have to press a button at the bottom of the window.
299 </p>
300 <ul>
301 <li>Auto-display Tags (<a href="#tags-B10">Load Options</a>) cause automatic popup on loading a game</li>
302 </ul>
303
304 <h3><a name="tag-A1">Edit book</h3>
305 <p>
306 The Tags window is a text window that supports normal editing functions,
307 but otherise has no special functions.
308 It displays moves available for the current position (displayed on the board) in the currently installed opening book.
309 To save any changes brought about by editing, you have to press a button at the bottom of the window.
310 </p>
311 <ul>
312 <li>Polyglot Book (<a href="#tags-B4">Common Engine Options</a>) determines which book file we edit</li>
313 </ul>
314
315 <h3>Menus</h3>
316 <p>
317 Most menus speak for themselves.
318 Many of them are for bringing up menu dialogs, (discussed below), where the real action will take place.
319 The Forward, Backward etc. items in the Edit menu do the same as the buttons above the board;
320 you can step through a game in progress, but only for viewing past positions;
321 Backward will not retract any moves.
322 The Retract Move item in the Engine menu is for that.
323 The Book item in the Engine menu queries the engine for its own book moves,
324 and has nothing to do with XBoards own opening book.
325 </p>
326 <p>
327 Items that deserve explanation are Revert and Annotate in the Edit menu.
328 These items become enabled as soon as you have shelved the main line of the loaded game,
329 by 'upgrading' a variation to new main line.
330 This can be done by right-clicking an already present vaiation in the Comment window,
331 or by entering a move (not at the end of the game) while keeping the Shift key pressed.
332 With Revert you would abandon such an upgraded variation, and restore the old main line.
333 Annotate does the same, but adds the abandoned variation as a (PGN variation) comment to the preceding move.
334 So you typically would use Revert to revert from variations that were already in the game,
335 and Annotate for a variation that you entered yourself, move by move.
336 Of course you could use Revert in that case as well, if you don't think the abandoned variation is worth saving
337 (e.g. after receiving a very poor analysis score).
338 <h3>Mode menu</h3>
339 <p>
340 The Mode menu might require some more clarification than others.
341 It is used to determine what XBoard will be doing.
342 E.g. Machine White and Machine Black will set XBoard to let the user play against the (first) engine,
343 while Two Machines will make first and second engine play against each other.
344 In both cases XBoard will revert to idle mode after the game finishes.
345 Machine Match starts playing the two engines against each other for a number of games (aternating the colors).
346 This match will stop when you click the menu item again (after the game in progress finishes!),
347 or when the number of games set in the <a href="#tags-B12">Match Options</a> dialog is reached.
348 Edit Game will allow the user to enter moves for both sides;
349 if a (first) engine is loaded, it will still check the moves for legality, though,
350 (so you cannot use XBoard to edit the game of a variant the engine does not play!),
351 but it will not think about them.
352 Edit Position allows you to set up a position.
353 </p>
354 <p>
355 Analysis mode is similar to Edit Game mode in that the user plays both sides,
356 but now the engine is thinking, and you can follow its thoughts about the current position in the engine-output window.
357 With Analyze Game, you will make XBoard step through the currently loaded game automatically,
358 while the engine is analyzing every position in it.
359 The results of this analysis are then added to the moves as comments
360 (i.e. score / depth as comments, as well as the PV indicated by the engine in PGN variation format).
361 </p>
362 <p>
363 ICS client is only available when you are already connected to an Internet Chess Server,
364 and allows you to continue interacting with it after you have been switching to another mode to do something locally.
365 (Such as loading a game from a file, in order to upload it to the ICS for examining,
366 or editing a game with comments in order to save it.)
367 </p>
368
369 <table cellpadding="20"><tr><td valign="top">
370 <p>
371 <img src="4.5.2/GenOpt.png">
372 </p><p>
373 <img src="PromoPopup.png">
374 </p>
375 </td><td valign ="top">
376 <h3><a name="tags-B1">General Options</h3>
377 <p>
378 The General Options dialog contains mostly on/off options.
379 Most options speak for themselves, or have already been discussed in the section on the board window.
380 Animate dragging / moving control whether the pieces move to their destination
381 square in a continuous fashion, rather than instantly jumping there.
382 The latter is for click-click moves or moves from an external source (file, engine, ICS),
383 the other for drag-drop moving.
384 Blindfold suppresses display of all pieces, so the board will always look empty.
385 Auto-flag terminates the game when one of the players flags 
386 (or at least sends a request to that end to the ICS).
387 Auto Flip View will put the side you are playing at the bottom of the display,
388 when playing against engine or on ICS. 
389 (By default white is at the bottom,
390 but the Flip View men item or F2 key can change this manually).
391 Ponder Next Move will cause an engine to think also when its opponent's clock is running.
392 Periodic Updates is a feature only relevant for analysis with an engine,
393 and let the engine send a constant stream of updates on what it is doing,
394 rather than just new variations.
395 Absolute analysis score means that in analysis positive scores mean white has the advantage.
396 (Normally engines report scores from the point of view of the side to move.)
397 XBoard has the possibility to make pieces that move blink on and off a few times on their to-square (Flash Moves).
398 You can suppress popup of several popups (e.g. drop menu in favor of PV walking).
399 </p>
400 <p>
401 Test Legality will already make XBoard refuse entry of illegal moves;
402 when you switch it off, you can enter them, but an ICS or engine would still rfuse them,
403 and XBoard would then take the move back.
404 Switching it off can be useful, though, when you use XBoard for a chess variant it does not know the rules of.
405 In that case the engine will be the final authority on what moves the user can enter.
406 Some other options won't work when legality testing is off:
407 XBoard won't be able to adjudicate checkmates and stalemates, 'Show Target Squares' where a pickedup piece can move to,
408 or use 'One-click Moving' (see below).
409 </p>
410 <p>
411 Two options affect how you enter moves.
412 One-Click Moving automatically moves pieces you click to the only square they can move to when this option is on.
413 As an alternative, it allows you to click empty squares, and if you have only a single piece that can move there,
414 XBoard will make that move.
415 Finally, clicking on an already selected piece (in practice usually double-clicking an unselected one) will force it to make the only capture it can do.
416 </p>
417 <table cellpadding="0"><tr><td valign="top">
418 <p>
419 Detour Under-Promotion is a novel way to handle pawn promotions:
420 Moving the pawn forward to its promotion square will automatically give you a queen,
421 but in the rare case you want something else, you can drag the pawn backwards first,
422 upon which it will start changing identity.
423 When it finaly becomes the piece you want, you then move it forward to the promotion square.
424 If the option is off, you will be prompted for a choice with a popup (shown left).
425 With One-click moving you will only get a promotion choice when clicking the pawn;
426 clicking the promotion square will always give you queen.
427 A command-line options -alwaysPromoteToQueen can force this anyway, in stead of the popup.
428 </p>
429 </td><td>
430 <img src="4.6.0/Detour.png">
431 </td></tr></table>
432 </td></tr></table>
433
434 <table cellpadding="20"><tr><td valign="top">
435 <img src="4.5.2/SaveOpt.png">
436 </td><td valign ="top">
437 <h3><a name="tags-B2">Save Options</h3>
438 <p>
439 XBoard allows you to save games or positions manually,
440 but in the Save Options dialog you can make arrangements for this to happen automatically at the end of any game.
441 If you specify a file for this, all games will be appended to the file.
442 (XBoard never over-writes game or position files, but always appends.)
443 If not, it will prompt you for a file name every time it saves,
444 proposing a name derived from the players.
445 It is recommended to alays save as PGN.
446 Other thing you can set here are the text in the Event tag,
447 whether score & depth of engine moves will be saved as comment to the moves,
448 whether the score when the engine came out of book will be saved as a PGN tag,
449 and whether tourney games will get s Number tag with a sequence number.
450 </p>
451 </td></tr></table>
452
453 <table cellpadding="20"><tr><td valign="top">
454 <h3><a name="tags-B3">Adjudication options</h3>
455 <p>
456 XBoard can recognize checkmates and stalmates,
457 and end games when they occur without waiting for the engine to claim it.
458 It can thus also check if engines claim these events unjustly, and forfeit them for that.
459 Positions without mating potential can be recognized in the more common variants,
460 and be declared draw instantly.
461 Some material combinations that would only allow helpmates (such as KBKN) can also be adjudicated draw after a short delay,
462 under contro of the 'Trivial Draws' option
463 </p>
464 <p>
465 You can also set the number of repeats and reversible moves after which a draw should be declared,
466 or cut short excessively long games by delaring draw.
467 Setting these values to 0 disables the corresponding adjudication.
468 You can let XBoard declare a win when both engines agree one is so much behind that further playing is pointless (Win / Loss Threshold).
469 For this to work, the engines must report the scores in the conventional way
470 (i.e. positive meaning they think themselves ahead, even when playing black).
471 Two options allow you to flip the black score of non-compliant engines.
472 </p>
473 </td><td valign ="top">
474 <img src="4.5.2/AdjuOpt.png">
475 </td></tr></table>
476
477 <table cellpadding="20"><tr><td valign="top">
478 <img src="4.5.2/ComOpt.png">
479 </td><td valign ="top">
480 <h3><a name="tags-B4">Common engine options</h3>
481 <p>
482 This dialog allows you to set some parameters valid for all engines,
483 such as their hash-table size, size of their tablebase buffer, the number of cores they can use,
484 and where you have installed the tablebases on your system.
485 Almost all UCI engines (run through the Polyglot adapter) need these parameters.
486 For native XBoard engines these settings often are ignored,
487 because they don't support the necessary commands to set them through the protocol.
488 'Polyglot directory' is where the Polyglot executable is to be found;
489 on Linux this can usually stay empty, becaue Polyglot is installed in a directory that is searched automatically 
490 when you issue a simple 'polyglot' command.
491 </p>
492 <p>
493 <b>Opening book -</b> The remaining options are for controlling the opening book used by XBoard.
494 This book can be used to play openings for the engines, without the engines being consulted.
495 (The moves selected by XBoard from the book will be forced to the engine,
496 and the engine will be started to think for itself only when XBoard gets out of book.)
497 You can specify any opening book in Polyglot format as book file,
498 but to make it possible for XBoard to use it, 'Use GUI Book' should also be checked.
499 This still does not mean XBoard will use the book for all engines;
500 to use it for a specific engine, the 'Has Own Book' option for that engine should be switched off.
501 By default it would be switched on after loading an engine,
502 except when this engine was installed with the explicit request to use the book.
503 In tournaments you can overrule this default, though, and make all participants start from the GUI book
504 unless they explicitly request to not use it
505 (which they almost never do, unless you edited the engine list by hand).
506 Finally you can set for how many (full) moves the book should at most be used,
507 and specify the book variation by a number from 0 to 100:
508 100 would mean totally random selection of all moves the book has for the current position,
509 while 0 would mean it only plays the best move(s) listed in the books.
510 The value 50 here would play the moves in proportion to the probabilities the book suggests.
511 </p>
512 </td></tr></table>
513
514 <h3><a name="tags-B5">Load engine</h3>
515 <table cellpadding="20"><tr><td valign="top">
516 <p>
517 To start using a different engine (or start using one when you so far were in game-viewer mode only)
518 you can select one with the aid of this dialog.
519 If the engine is already 'installed', i.e. present in the list maintained in XBoard's setting file,
520 you can simply select it from the drop-down list at the top of the dialog.
521 You then only have to select if you want to load it as first or second engine,
522 and can press OK.
523 The rest of the dialog is then not used.
524 </p>
525 <p>
526 Only to load an engine never used before the rest of the dialog becomes relevant.
527 You can specify the engine command there, which can be done by browsing to the executable for that engine.
528 Some engines might need other stuff on their start command than just their name, however,
529 like '-xboard', or a specification of the hash size.
530 You must tick a box if the engine is UCI.
531 By default it will be assumed you want to remember this new engine in the engine list,
532 so that next time you can select it directly from the drop-down list.
533 If you don't want this, you can untick the 'Add to list' chackbox.
534 </p>
535 <p>
536 You can also specify a 'nickname', whih is the name under which it will appear in the drop-down list,
537 if you are not satisfied with the name of the executable.
538 (Some engines have horribly cryptic names for their command,
539 and you might want to install versions of the same engine with different settings,
540 and use nicknames to keep them apart.)
541 Other checkboxes allow you to determine if this engine should request using XBoard's opening book,
542 if it is an obsolete engne using version 1 of the protocol
543 (whih would otherwise take many seconds to load),
544 and if the engine should be installed to always play the currently active variant
545 (this is only usful for engines that do not play normal chess).
546 </p>
547 </td><td valign ="top">
548 <img src="4.6.0/LoadEng.png">
549 </td></tr></table>
550
551 <table cellpadding="20"><tr><td valign="top">
552 <img src="4.5.2/BoardOpt.png">
553 </td><td valign ="top">
554 <h3><a name="tags-B6">Board options</h3>
555 <p>
556 In the View menu there is the Board Options dialog to make you configure the look of the board.
557 There ae two modes for rendering board squares: through an externally given (pixmap) image file, or evenly colored.
558 In the latter case you can select the colors with the 'color pickers' at the top of the dialog.
559 In XBoard colors are indicated by hexadedecimal numbers for their Red, Green and Blue value.
560 This cryptic notation is displayed in a text-edit, and if you understand the coding system, 
561 you could alter it to the color you want by typing a new code.
562 (Hint: the first two letters behind # are for red, the next two for green, and the last two for blue.)
563 Otherwise you can set the color experimentally, using the buttons behind the text edit
564 to make it a bit redder, greener, bluer or darker.
565 To see what you are doing the color is displayed behind the text edit.
566 This is also a button, though, and if you press it, it restores the color to the default.
567 You can set square color, piece color and highlight colors through this method.
568 </p>
569 <p>
570 To use image files for board squares, you must specify the pixmap files from which the light and dark squares are cut.
571 These files must contain an image at least as big as the square size,
572 The cutting algorithm is such that it tries to minimize the overlap between cut squares,
573 and that when you specify an image exactly the size of the entire board,
574 the squares tile to recover the complete image undamaged.
575 The width of the highlight lines can be hand-tuned with the 'Line Gap' option.
576 </p>
577 <p>
578 You can also specify external pieces, as bitmaps or pixmaps.
579 A complete set of pieces of the current board size would have to be contained in the specified diretories.
580 The other options speak for themselves.
581 </p>
582 </td></tr></table>
583
584 <h3><a name="tags-B7">Sound options</h3>
585 <table cellpadding="20"><tr><td valign="top">
586 <p>
587 XBoard cannot generate sounds by itself, but can invoke an external sound player to play a number of predefined sounds.
588 These sounds can be coupled to certain events, like your opponent making a move,
589 the game ending in a win, loss or draw, etc.
590 Many of the events can only ocur when you aue XBoard to connect to an Internet Chess Server,
591 such as someone challeging you for a game, others sending you a 'tell' message, a 'shout' being broadasted on the server.
592 For each of the events there is a drop-down list from which you can selet the sound you want to hear when it occurs.
593 Apart from the predefined sounds that come with XBoard,
594 you can supply your own sound files:
595 yust select one in the text edit at the top,
596 and choose 'Above WAV File' from the drop-down list.
597 You can also select your preferred sound-player command, and the directory where the predefined sounds are stored.
598 </p>
599 <h3><a name="tags-B8">ICS Text Menu</h3>
600 <table cellpadding="10"><tr><td valign="top">
601 <img src="4.5.2/TextMenu.png">
602 </td><td valign ="top">
603 <p>
604 There is one dialog that is special, because the user can decide what is in it!
605 It displays a number of buttons, which represent a command text to be sent to the Internet Chess Server you are connected to.
606 Each button could thus represent a command you frequently use,
607 and now can send with a single click of the mouse!
608 </p>
609 <p>
610 The button texts, and commands to send are all specified through the multi-line option -icsMenu,
611 which is stored in the settings file (~/xboardrc).
612 The easiest way to change it is probably editing this file (sorry about that...).
613 Buttons are described by "buttonText;command;" pairs, where the command can contain linefeeds
614 (i.e. be multiple ICS commands).
615 "$name" in the command will be replaced by currently selected text in the ICS console.
616 Commands ending with "$input" are placed in the ICS Input Box, rather than  directly sent to the ICS.
617 If they start with "$add", they will be appended to text already in the ICS Input Box, rather than replacing it.
618 </p>
619 </td></tr></table>
620 </td><td valign ="top">
621 <img src="4.5.2/SoundOpt.png">
622 </td></tr></table>
623
624
625 <table cellpadding="20"><tr><td valign="top">
626 <h3><a name="tags-B9">ICS options</h3>
627 <p>
628 This dialog can alter settings relevant for playing on an Internet Chess Server.
629 On the right you can specify colors to be given to various type of messages coming from the ICS.
630 They consist of a comma-separated triple for font color, background color and ???.
631 To activate this, the Colorize option has to be ticked.
632 </p>
633 <p>
634 You can also switch premoving (i.e. entering your move in advance, whil the opponent is still thinking) on or off,
635 and specify premoves for the first move of the game.
636 An Alarm can be set to sound when the time left on your clock drops below a certain value.
637 (Use the Sound Options dialog to pick the sound!)
638 Auto-raise board pulls the board window to the foreground whenever there is activity,
639 while Quiet Play suppresses all messages coming from the ICS while you are involved in a game.
640 Get Move List is important for not missing the initial part of games you start observing when they are in progress,
641 but can be very disruptive if you observe more games at the same time.
642 </p>
643 </td><td valign ="top">
644 <img src="4.5.2/ICSOpt.png">
645 </td></tr></table>
646 <p>
647 The option Auto-Comment causes all text messages you receive from your opponent during game play
648 to be added as comments to the stored game, so they can be saved with the PGN.
649 Auto-Kibitz will cause the thinking output of an engine playing through XBoard on the ICS ('zippy mode')
650 to be sent through kibitz commands to opponent and observers.
651 At the same time it will cause such incoming kibitzed thinking output to be diverted to the engine-output window.
652 </p>
653 <p>
654 Seek graph controls if a left-click on the board while idle will bring up a graph of players seeking a game.
655 When this option is on, Auto-Refresh Seek Graph controls if it is automatically updated,
656 (works only on FIC and ICS, and consumes a lot of bandwidth),
657 or whether you have to right-click the graph (in an empty part) for that.
658 The color of the dots in the seek graph codes for rated / unrated / wild,
659 while the shape (circle / square) encodes for human / computer.
660 </p>
661 <p>
662 The option Background Observe suppresses display of any boards of observed games while you are playing.
663 The latest such received board can then be peeked at by right-clicking on the board, however.
664 In combination with this, you can use the experimental option Dual Board to see such background-observed games
665 on a separate board all the time.
666 Such observed games arenot recorded by XBoard though.
667 (I.e. you cannot save them on file afterwards, but you can of course always fetch them again from the ICS later, 
668 and save them then.)
669 </p>
670
671 <h3><a name="tags-B10">Load options</h3>
672 <p>
673 The Load Options dialog controls loading and slection of games from the game list.
674 After loading a game XBoard will normally auto-play it, by stepping through all positions from the beginning.
675 The stepping rate can be set here in seconds.
676 (This is one of the few numeric options where fractions can be specified.)
677 Specifying a negative number will suppress the auto-play, and leave the opening position in the display after game load.
678 Specifying 0 will instantly move to the final position, and leave that in the display.
679 You can select if the Tags window will automaticall pop up to show you the PGN tags of the game,
680 or whether the Comment window will pop up on display of any move that had a comment to it.
681 </p>
682 <table cellpadding="20"><tr><td valign="top">
683 <img src="LoadOpt.png">
684 </td><td valign ="top">
685 <p>
686 A text edit allows you to speify options XBoard that should take effect when XBoard is used as a game viewer
687 (i.e. with the -viewer option, as it is when invoked through clicking a PGN file).
688 By default this will be -ncp mode ('no chess program', i.e. without engine),
689 but you might prefer to start it with your favorite engine for analyzing games.
690 </p>
691 <p>
692 The other options are all for 'filtering' the game list, i.e. only display games that fit certain criteria.
693 You can specify Elo thresholds for only showing the games from a PGN file of players that are strong enough,
694 or restict the display to games played after a certain year.
695 This all works in combination with the 'Filter' field in the Game List itself, 
696 where you can select based on a text occurring in the header lines.
697 You can also select games based on occurrence of certain positions in them.
698 The position you search should in that case be set up on the board.
699 To decide when a position is considered a 'match', six different, and progressively more liberal criteria can be used:
700 </p>
701 <ul>
702 <li>The position must be exactly the same as the one on the board</li>
703 <li>Pieces on the board must occur in the position exactly as given, but there could be extra material</li>
704 <li>Only the Pawns must be exactly as on the board, but non-Pawn material could be anywhere</li>
705 <li>The position must have the same material as is on the board, but it doesn't matter where</li>
706 <li>The position must contain at least the material on the lower half of the board,
707     but can optionally have any subset of the material on the upper half in addition</li>
708 <li>As above, but the optional material must be the same for black and white</li>
709 </ul>
710 <p>
711 In addition you can tick whether the first three comparison methods should also accept mirror images
712 (where vertical flipping will be accompanied by color flipping).
713 For the last three methods you can require that the imposed conditions are satisfied not for a single position,
714 but for a given number of consecutive positions. 
715 Pressing the 'Find Position' button at the bottom of the Game List will apply the specified criteria.
716 Games loaded from a Game List filtered position will not auto-play,
717 but always load with the position search for as the currently displayed one.
718 </p>
719 </td></tr></table>
720
721 <h3><a name="tags-B12">Match options</h3>
722 <table cellpadding="20"><tr><td valign="top">
723 <p>
724 Here you can set the parameters for matches and tournaments.
725 For (old-style) two-player matches only the options in the bottom half of the dialog are relevant:
726 you can select the default number of match games 
727 (i.e. that used when you click the Machine Match item in the Mode menu),
728 the game or position file from which the games in the match will be started
729 (i.e. the games, presumably short opening lines, or position will be loaded first, 
730 and the engines will then start to play from there),
731 and which game or position from the file should be used.
732 By specifying -1 or -2 for the latter you can make XBoard automatically step through all positions in the file,
733 taking the next one every game (-1) or every two games (-2, so they are played with both colors).
734 You can specify that after a number of games / positions have been used,
735 XBoard 'should rewind' to the first in the file.
736 </p>
737 <p>
738 The pause between matches is important for engines that do not support 'ping',
739 which have the nasty habit of sometimes producing a move for the previous game when the next game has already started,
740 (because the opponent unexpectedly resigned),
741 without XBoard being able to detect that.
742 Th only remedy is to wait long enough for such engines to finish their search and produce the move before the next game starts.
743 The file for saving the games can be set here, as well as from the Save Options dialog.
744 The other parameters, in the upper half of the dialog are only important for tourneys with more than two engines
745 (or at least, other than the two currently loaded engines),
746 see the page on XBoards <a href="4.6.0/TM.html">built-in tournament manager</a>.
747 </p>
748
749 <table cellpadding="20"><tr><td valign="top">
750 <img src="4.5.0/glopt.png">
751 </td><td valign ="top">
752 <h3><a name="tags-B11">Game-list options</h3>
753 <p>
754 With this dialog you can customize the lines in the game list.
755 The various PGN tags that are eligible for appearing there are displayed in a listbox.
756 You can select one of those by clicking it, and then move it up or down in the ranking with the buttons at the bottom.
757 Only tags above the 'hidden tags' item will be printed in the game list,
758 in the order they appear in the list box.
759 </p>
760 </td></tr></table>
761
762 </td><td valign ="top">
763 <img src="4.6.0/Tourney.png">
764 </td></tr></table>
765