a678542c3ee7e4bbfd5f922665dede5050fccb60
[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 When setting up a position ('Edit Position mode'), things work a bit differently, 
106 because you are not bound by any chess rules in that case.
107 In a click-click move any second click would be a to-square,
108 even if it captures a piece of your own.
109 You will also be able to move empty squares and even 'capture' pieces with them,
110 or drag pieces off the board to get rid of them.
111 But the most important difference is the function of the right-click,
112 which now is used to put a new piece on the square you clicked.
113 Depending on the settings, this can either go through popping up a menu from which you select,
114 or by making a vertical sweep with the mouse, keeping button 3 down,
115 which will make the identity of the newly introduced piece cycle through all possible choices,
116 so that you can release the button when you see the one you want ('sweep selection').
117 This will always start by dropping a Pawn in the clicked square (as you typically need those most);
118 this will be a black Pawn unless you kept the Shift key pressed, (or use button 2),
119 in which case it starts with a white Pawn.
120 </p>
121 <table cellpadding="20"><tr><td valign="top">
122 <img src="4.5.0/seekgraph.png">
123 </td><td valign ="top">
124 <p>
125 The clocks are mainly meant as output fields, but in some situations they also accept mouse clicks.
126 What the clicks do varies.
127 They can be taken as a signal you want to claim the game because the opponent has flagged
128 (when his clock displays a negative number).
129 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.
130 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.
131 (Such turn passing is obviously illegal in chess, so you cannot do that while playing a game,
132 but in analysis or for setting up a position, it ican be useful and is allowed.)
133 When setting up a position, clicking the clock of the side that already has the move
134 will clear the board.
135 </p>
136 <p>
137 <b>Seek graph -</b> When logged in to an Internet Chess Server, the area where the board is normally drawn doubles as 'seek graph',
138 where you can see who is looking for what type of game.
139 This only applies when the board is not in use, i.e. when you are not playing, examining or observing a game.
140 In this 'idle' mode, left-clicking the board anywhere will request information from the ICS and draw the seek graph accordingly.
141 Left-clicking on a dot in the seek graph makes you challenge the corresponding player,
142 while left-clicking off-dots would erase the seek graph, and replace it by the normal board display.
143 Right-clicking the seek graph off-dots would refresh it (only needed on ICS that cannot do that automatically).
144 On a busy server dots can sometimes cluster so densely you no longer can reach those that hide behind others;
145 in this case right-clicking on a dot would 'push it to the back', so that dots behind it now get to the foreground.
146 When you hover over a dot the message window will show you the details of the corresponding seek ad,
147 and an exclamation point there will warn you there were dots hiding behind it.
148 </p>
149 </td></tr></table>
150 <ul>
151 <li>Detour Under-promotion (General Options) determines if a promotion menu will pop up on promotion moves</li>
152 <li>-pieceMenu (command-line option) determines if a right-click invokes a menu in Edit Position mode</li>
153 <li>Drop Menu (General Options) determines if a right-click in bughouse invokes a drop menu</li>
154 <li>Animate Dragging (General Options) determines if you will see the piece being dragged</li>
155 <li>Seek Graph (ICS Options) determines if left-clicks can call up the seek graph</li>
156 <li>Highlight Last Move (General Options) controls if clicking squares highlights them</li>
157 <li>Highlight with Arrow (General Options) controls if an arrow is drawn between from- and to-square</li>
158 <li>One-click moving (General Options) can make a piece move by clicking only from- or to-square</li>
159 <li>Show Target Squares (General Options) marks square where the selected / dragged piece can move to</li>
160 <li>Hide Thinking from Human (General Options) determines if engine thinking is displayed in the message field</li>
161 <li>-variations (command-line option) determines whether you can enter variations</li>
162 <li>-showButtonBar (command-line option) determines whether the navigation buttons are present</li>
163 </ul>
164
165 <h3><a name="tag-A2">Comment window</h3>
166 <table cellpadding="20"><tr><td valign="top">
167 <p>
168 The Comment window displays comments and variations from the PGN file belonging to the current move,
169 and will automatically update when you step through the game.
170 Left clicks in the Comment window are reserved for the normal editing functions (selecting, drag-drop edition).
171 The right button can be used to click on a PGN variation
172 (a sequence of alternative moves enclosed in parentheses) on the current move.
173 In this case XBoard will 'upgrade' this variation to become the main line of the curent game
174 (the original main line being shelved in its memory, so you can 'Revert' to it later).
175 You can then step through the variation to make it visible on the board.
176 </p>
177 <ul>
178 <li>Auto-dispay comment (Load Options) causes automatic pop up whenever you encounter a commented move.</li>
179 </ul>
180 </td><td valign ="top">
181 <img src="Comment.png">
182 </td></tr></table>
183
184 <h3><a name="tag-A5">Engine output</h3>
185 <p>
186 As its name suggests, the engine-output window is only useful when an engine is involved.
187 (This an be can engine you connect to through an Internet Chess Server, however.)
188 Engines print how they think the game would continue if poth sides play the moves the engine considers best,
189 the so called 'Principal Variation',
190 at ever increasing search depth.
191 These PV lines are diplayed in the engine-output window, preceded by the search depth at which they were found,
192 and the score assigned to them, (plus the less interesting time and number of positions searched).
193 </p>
194 <table cellpadding="20"><tr><td valign="top">
195 <img src="4.4.0/EngOutXB.png">
196 </td><td valign ="top">
197 <p>
198 Left clicks in the Engine Output window are reserved for the normal editing functions,
199 although in this case only selecting for the purpose of copying would be a useful action.
200 The right button can be used to click on a PV indicated by the engine.
201 In this case that PV will be played out on the chess board when you move the mouse vertically with the button still down
202 (i.e. use the main board as 'variation board').
203 The behavior in analysis mode is a bit different from that in other modes:
204 when you release the button, the position on the variation board becomes the new position to analyse,
205 and all moves leading up to it will be added to the game.
206 Because the variation walk will start in the position after the first PV move there,
207 a static click on a PV would just make you play the suggested engine move.
208 In other modes, walking a PV will start at the end of the PV, and never change the game.
209 When you release the button, you will simply jump back to the original game.
210 When an engine produces a move, XBoard would force you back to the real game anyway, even without releasing the button.
211 </p>
212 <p>
213 Some engines support a multi-PV mode, where they don't only give continuations for the best move,
214 but also for second-best, or more.
215 In this case XBoard will print a header line above the PV's containing the words 'fewer' and 'more',
216 and when you right-click on those, the number of moves the engine calculates will be decreased or increased.
217 </p>
218 </td></tr></table>
219
220 <h3><a name="tag-A4">Move list</h3>
221 <table cellpadding="20"><tr><td valign="top">
222 <p>
223 The Move List contains the game in SAN notation, with or without score/depth information included as comments to the moves.
224 Left clicks in the Move List are reserved for the normal editing functions,
225 although in this case only selecting for the purpose of copying would be a useful action.
226 Right-clicking on a move (in WinBoard: left-double-clicking) will navigate you to the position after that move
227 (i.e. display that position on the board, and allow you to step through the game from there).
228 </p>
229 <ul>
230 <li>Scores in Move List (General Options) enables inclusion of engine score/depth</li>
231 </ul>
232 </td><td valign ="top">
233 <img src="4.6.0/History.png">
234 </td></tr></table>
235
236 <h3><a name="tag-A6">Evaluation graph</h3>
237 <table cellpadding="20"><tr><td valign="top">
238 <img src="4.6.0/Zoom.png">
239 </td><td valign ="top">
240 <p>
241 The evaluation graph displays how the engine score evolved over the game,
242 either as a histogram, or (when space gets too tight), as a drawn line.
243 If two engines are playing, each side has its own histogram / line,
244 distinguishable by their color.
245 Clicking in the graph navigates you to the position corrsponding to the point where you clicked.
246 </p>
247 <ul>
248 <li>Zoom factor (General Options) set magnifiation of the {-1, 1} score range</li>
249 <li>-evalThreshold (command-line option) minimum score to be considered different from 0</li>
250 </ul>
251 </td></tr></table>
252
253 <h3><a name="tag-A1">Game List</h3>
254 <p>
255 The Game List displays a table of contents of the urrently loaded PGN file as a listbox.
256 The lines in the listbox are composed of the PGN tags of the game,
257 in a user-configurable way.
258 Clicking on such a line would load the corresponding game, so you can navigate through it.
259 The currently loaded game will be highlighted in the list.
260 Using Up or Down arrow keys while the Game List window has focus will move the highlight to the previous / next game,
261 while typing &lt;Enter> will load the game.
262 </p>
263 <table cellpadding="20"><tr><td valign="top">
264 <p>
265 The Game List window includes a number of controls at the bottom,
266 to select a subset of the games for display in the window.
267 A 'Filter' field allows you to enter a text, where then only header lines containing that text will b displayed.
268 You can furthermore select on positions occurring in the game,
269 through the 'Find Position' button.
270 When you do that, only those games containing the position currently on the board
271 (or enough like it, according to the matching criterea you specified in the Load Game Options dialog,
272 reachable through the 'Thresholds' button)
273 will remain in the list, in that case.
274 </p>
275 <ul>
276 <li>(Game List Options) selects the PGN tags included in the header</li>
277 <li>(Load Options) can set all kind of filter and position-search criteria</li>
278 </ul>
279 </td><td valign ="top">
280 <img src="NewGameList.png">
281 </td></tr></table>
282
283 <h3><a name="tag-A3">Tags window</h3>
284 <p>
285 The Tags window is a text window that supports normal editing functions,
286 but otherise has no special functions.
287 It can be used to view or edit the PGN tags of the stored game.
288 To save any changes brought about by editing, you have to press a button at the bottom of the window.
289 </p>
290 <ul>
291 <li>Auto-display Tags (Load Options) cause automatic popup on loading a game</li>
292 </ul>
293
294 <h3><a name="tag-A1">Edit book</h3>
295 <p>
296 The Tags window is a text window that supports normal editing functions,
297 but otherise has no special functions.
298 It displays moves available for the current position (displayed on the board) in the currently installed opening book.
299 To save any changes brought about by editing, you have to press a button at the bottom of the window.
300 </p>
301 <ul>
302 <li>Polyglot Book (Common Engine Options) determines which book file we edit</li>
303 </ul>
304
305 <h3></h3>
306 <p>
307 </p>
308