Fix missing link to 4.4.x
[xboard.git] / whats_new / 4.5.0 / index.html
1 <!--#include virtual="/server/html5-header.html" -->
2 <title>XBoard - GNU Project - Free Software Foundation - NEWS</title>
3 <!--#include virtual="/server/banner.html" -->
4 <!--#set var="article_name" value="/server/standards/boilerplate" -->
5 <!--#include virtual="/server/gnun/initial-translations-list.html" -->
6 <h2>What is new in WinBoard / XBoard 4.5.0?</h2>
7 <table cellpadding="20"><tr valign="top"><td>
8 <h4>General New Features</h4>
9 <ul>
10 <li><a href="#tag-C13">Each user his own settings file</a></li>
11 <li><a href="#tag-D1">More logical (and standard) menu structure</a></li>
12 <li><a href="#tag-C6">Translation into other languages (WB)</a></li>
13 <li><a href="#tag-A3">Walking the PV of an engine</a></li>
14 <li><a href="#tag-A2">Exploring variations</a></li>
15 <li><a href="#tag-C4">Playing through PGN variations</a></li>
16 <li><a href="#tag-D2">Annotating a game with analysis results</a></li>
17 <li><a href="#tag-C12">Editing Comments</a></li>
18 <li><a href="#tag-C10">Controlling move choice of the GUI book</a></li>
19 <li><a href="#tag-C11">Keeping the clock in sync in tournaments</a></li>
20 <li><a href="#tag-C9">Starting an engine match from the menu</a></li>
21 <li><a href="#tag-A1">Fixed thinking time per move</a></li>
22 <li><a href="#tag-A5">Improved multi-PV support</a></li>
23 <li><a href="#tag-A4">Where your pieces can move to</a></li>
24 <li><a href="#tag-A8">Editing crazyhouse holdings</a></li>
25 <li><a href="#tag-A9">Thai Chess (Makruk) and Seirawan Chess</a></li>
26 <li><a href="#tag-C7">Non-compliant FEN and SAN input</a></li>
27 <li><a href="#tag-C8">Improved Xiangqi adjudications</a></li>
28 <li><a href="#tag-D4">Allowing engines to setup a position</a></li>
29 </ul>
30 </td><td>
31 <h4>XBoard -> WinBoard Convergence</h4>
32 <ul>
33 <li><a href="#tag-A6">Evaluation graph (XB)</a></li>
34 <li><a href="#tag-A7">Settings file (XB)</a></li>
35 <li><a href="#tag-B1">Filtering the game list (XB)</a></li>
36 <li><a href="#tag-B4">Game-List options dialog (XB)</a></li>
37 <li><a href="#tag-C1">Recalling the ICS input history (XB)</a></li>
38 <li><a href="#tag-D3">Aribtrary board textures (XB)</a></li>
39 <li><a href="#tag-D5">Highlight arrow (XB)</a></li>
40 <li><a href="#tag-D5">A real file browser (XB)</a></li>
41 </ul>
42 <h4>ICS-client Enhancements</h4>
43 <ul>
44 <li><a href="#tag-B2">Maintaining a healty ICS connection</a></li>
45 <li><a href="#tag-B5">Claiming a draw after your move</a></li>
46 <li><a href="#tag-B6">ICS seek graph</a></li>
47 <li><a href="#tag-B7">One-click moving</a></li>
48 <li><a href="#tag-B8">Observing your bughouse partner</a></li>
49 <li><a href="#tag-C2">Improved Chat-Box interface (WB)</a></li>
50 <li><a href="#tag-C3">Uploading games to an ICS</a></li>
51 <li><a href="#tag-C5">Side-by-side boards</a></li>
52 </ul>
53 </td><td>
54 <img src="winboardF.png">
55 <p>
56 <a href="../4.5.2/index.html">Follow-up release (4.5.2)</a>
57 </p>
58 <p>
59 <a href="../4.5.1/index.html">Minor bug-fixes (4.5.1)</a>
60 </p>
61 <p>
62 <a href="../4.4.0/index.html">Preceding release (4.4.x)</a>
63 </p>
64 </td></tr></table>
65 <h3><a name="tag-A1">Fixed thinking time per move</a></h3>
66 <p>
67 The clocks are now displayed counting down in fixed-time-per-move time controls.
68 This mode of time control can still be selected through the command-line
69 option -st (-searchTime), but in WinBoard it is now also possible
70 to select it interactively from the Options -> Time-Control menu dialog.
71 As soon as a player's turn comes up, his clock will be reset to the
72 selected time per move, and start counting down.
73 If he does not move before the clock reaches zero,
74 a time loss can result.
75 </p><p>
76 </p>
77 <h3><a name="tag-A2">Exploring variations</a></h3>
78 <p>
79 XBoard and WinBoard now allow you to explore variations on a given game,
80 much like you can do on an Internet Chess Server in "examine" mode.
81 You can do this in Edit Game mode, 
82 for the purpose of annotating the game with alternative variations,
83 or in Analyze mode, where an engine evaluates the various branches.
84 </p><p>
85 It works like this: you can use the &lt; and > buttons
86 (or equivalently, the Left and Right arrow keys,
87 or the Step -> Forward and Step -> Backward menu items),
88 to step through a game or variation.
89 When you are not at the end of the game, and start playing moves,
90 XBoard would normally truncate the game at that point,
91 and append the new move.
92 However, you can now indicate that the entered move starts a new variation
93 by keeping the Shift key pressed while entering it.
94 XBoard then stores the tail of the game in memory, rather than discarding it.
95 You can then continue the game along a new line of play,
96 and the arrow keys will step you through that new line
97 (the "current variation"),
98 </p><p>
99 When you have studied the variation to your satisfaction,
100 you can then use the Step -> Revert menu to recall the previous variation,
101 i.e. the one that XBoard stored last because you altered a move in it.
102 This brings you back to the position where you played the alternative move,
103 and puts back the original tail of the game, 
104 so that the arrow keys now step you through that.
105 The later variation you now abandoned will be irretrievably lost,
106 but as an alternative to 'Revert' there is a new 'Annotate' menu item,
107 which would add that variation as a comment
108 (in PGN variation format, i.e. between parentheses)
109 to the next move.
110 So you will see the alternative to the played move 
111 displayed in the comment window as soon as you play that move.
112 This can be repeated any number of times,
113 so you can make variations on variations
114 (leading to nested variation comments in the PGN).
115 </p>
116 <h3><a name="tag-C4">Playing through variations from PGN</a></h3>
117 <p>
118 PGN files can contain (nested) variations between parentheses.
119 WinBoard and XBoard have always treated such variations like comments,
120 adding them to the move after which they occurred,
121 and displaying them in the comment popup.
122 In WinBoard as well as XBoard it is now possible to right-click
123 such a variation in the comment popup,
124 in Edit Game or Analyze mode,
125 on which the current line will be shelved,
126 and the clicked variation will take over its place.
127 (See <a href="#tag-A2">Exploring Variations</a> above.)
128 </p><p>
129 The user can then play through the variation on the board in the
130 way he would normally play through the main line of the game.
131 When he is done, he can use Revert in the Step menu
132 to resume the main line.
133 </p>
134 <table cellpadding="20" valign="top"><tr><td>
135 <h3><a name="tag-A8">Editing a crazyhouse position</a></h3>
136 <p>
137 Previous versions of XBoard and WinBoard did not allow you to edit the holdings
138 in Edit Positon mode, which made this mode useless for setting up
139 crazyhouse or bughouse positions.
140 (You could still paste a bughouse FEN containing the holdings in brackets
141 between the board and side-to-move fields.)
142 The new version does allow such editing.
143 When you drag a piece into the holdings file,
144 it automatically puts it on the square designated for it,
145 and adapts the piece counts consistently.
146 When you drag it out of the holdings, the piece counts are decreased,
147 and if non-zero the other copies of the piece will stay in the holding
148 while you take one to the board.
149 </p><p>
150 It is even possible to add pieces in the holdings using the piece menu.
151 Setting an empty square on top of a stack of pieces,
152 will delete all these pieces.
153 </p>
154 </td><td>
155 <img src="crazy.png">
156 </td></tr></table>
157 <h3><a name="tag-A3">Walking the PV of an engine</a></h3>
158 <p>
159 XBoard and WinBoard now allow you to see the position the engine thinks
160 it will end up in (i.e. the positon at the end of the Principal Variation),
161 by right-clicking the board.
162 When you then move the mouse vertically, keeping the right button pressed,
163 it will step through all the positions of the PV that ly between this
164 end position and the current game position on which the engine is thinking
165 or analyzing.
166 This 'PV walk' will continue until you either release the right button,
167 or the engine moves,
168 after which the board display will revert to the current game position.
169 </p><p>
170 On right-clicking the board, 
171 you will always get to see the last PV the engine produced as thinking output.
172 (Show Thinking must be on for this feature to work.)
173 This can be a PV from before the engine made the move,
174 but if the engine is pondering,
175 it will in general be a PV from its ponder search.
176 In Two-Machines mode, you will get to see the PV of the
177 engine that is currently thinking.
178 </p><p>
179 You can also call up a PV in the board display by right-clicking
180 the Engine-Output window.
181 In this case you will get to see the PV that you clicked on.
182 So you can select from which engine you will see the PV,
183 but also walk through PVs of lower depth than the most recent one.
184 If the engine is in multi-PV mode,
185 you can select one of the alternative variations.
186 This also works for PVs received through an ICS from the opponent,
187 captured by the -autoKibitz option to the Engine-Output window.
188 </p><p>
189 Also in this case, the selected PV will remain displayed as long
190 as you keep the right mouse button down,
191 even when the engine in the mean time produces new lines
192 of thinking output.
193 (But not if it actualy moves; then you revert to the game.)
194 The line you selected will be highlighted in the Engine-Output window.
195 If a selected PV from before the engine moved starts with
196 a different move than was actually played,
197 the retraction of the played move is inserted before the PV.
198 </p><p>
199 This new feature interferes with the historic usage of the right mouse button,
200 namely the summoning up of the (now deprecated) piece-drop menu
201 in crazyhouse and bughouse.
202 For people that still want the old behavior,
203 an option -dropMenu true|false is provided.
204 The default value of this option is false,
205 but by setting it, the old behavior is restored,
206 and the PV display on right-clicking the board disabled.
207 </p>
208 <table cellpadding="20" valign="top"><tr><td>
209 <h3><a name="tag-A4">Where your pieces can move to</a></h3>
210 <p>
211 Experienced Chess players will not need it, or even dislike this option,
212 but it might be useful to a beginner.
213 And even an experienced Chess player might appreciate it 
214 when he plays a variant he is not so familiar with:
215 XBoard and WinBoard can now indicate the possible locations a piece can move to.
216 When you switch this option on,
217 as soon as you 'pick up' a piece with the mouse,
218 (i.e. left-click it, for as long as you keep the left mouse button down),
219 XBoard will indicate all the squares that piece can move to with a fat dot.
220 For captures, it will use another color (the -premoveHighlightColor, normally red)
221 than for non-captures (where it uses the -highlightColor, normally yellow).
222 </p><p>
223 This feature is only active with the option -showMoveTargets true
224 (stored in the settings file),
225 but can then still be controlled with the option -highlightDragging,
226 which also has an item in the Options menu,
227 so you can quickly switch it on and off.
228 Furthermore, legality testing must be on for XBoard to know how the piece moves.
229 </p><p>
230 In variants with mandatory capture (suicide, losers, giveaway)
231 it works a bit different:
232 if the piece you pick up has a capture it is still indicated in red,
233 but as non-captures with this piece are then automatically illegal,
234 the yellow dots are used to indicate captures by other pieces.
235 This can be handy to quickly alert you when you overlooked a capture:
236 when you pick up another piece than the one who must capture,
237 you will not see the expected non-capture moves of that piece light up,
238 but in stead see some yellow dots on enemy pieces appear.
239 </p><p>
240 One other peculiarity in variants is that XBoard implements some pieces
241 occurring in variants as 'wildcard pieces', that are allowed to do any
242 move even when legality testing is on.
243 (To facilitate playing exotic variants without switching legality
244 checking off completely.)
245 For such a piece, a red dot on the starting square of the piece itself
246 will appear.
247 Drop moves (e.g in crazyhouse) will not be indicated.
248 </p>
249 </td><td>
250 <img src="showXQmove.png">
251 </td></tr></table>
252 <h3><a name="tag-A5">Improved Muti-PV support</a></h3>
253 <p>
254 Normally an engine produces only a single PV for each move it plays.
255 Some engines can operate in multi-PV mode, however,
256 where they produce mutiple lines with an exact score.
257 This is more a matter of the engine than the GUI,
258 but the new XBoard and WinBoard have a tiny improvement to help
259 interpretation of multi-PV engine output.
260 </p><p>
261 In stead of displaying the Thinking-Output lines in the
262 Engine-Output window strictly in the order that they came in,
263 XBoard now sorts lines of the same depth by score,
264 so that the line of the highest score (the true PV)
265 is always displayed on top.
266 In practice this requires new lines to be inserted not at the top,
267 (as always happened in earlier versions),
268 but can be inserted somewhat lower down if their score was lower.
269 Not a big deal, but it helps to get a more quiet display.
270 The original order, which usually is of less importance,
271 can aways be deduced from the time or number of nodes displayed with the line.
272 </p>
273 <table cellpadding="20" valign="top"><tr><td>
274 <img src="evalgraph.png">
275 </td><td>
276 <h3><a name="tag-A6">Evaluation Graph</a></h3>
277 <p>
278 XBoard now has a new auxilliary window (which WinBoard already had for years),
279 for displaying the engine score(s) as a function of move number as a graph.
280 Clicking a point on this graph will bring you to the corresponding
281 position in this game.
282 (I.e. it will display the position on the board like you moved there
283 with the arrow keys.)
284 </p><p>
285 Like the other windows, the Evaluation Graph can be sized and moved with the mouse,
286 and its size and psition can be determined by command-line options,
287 which are saved in the settings file.
288 By compiled-in default XBoard starts with this window open,
289 but closing it once and saving the settings is enough to change that for future sessions.
290 </p>
291 </td></tr></table>
292 <h3><a name="tag-C13">Settings-file redirection</a></h3>
293 <p>
294 There is one novelty in the way WinBoard and XBoard handle their settings files.
295 It has always been possible to have one settings file specify another.
296 The contents of that settings file would simply be substituted at the place where you refer to it
297 with the -settinngsFile option (-ini, for short).
298 But the saving of settings then used to still go to the original settings file.
299 This should be considered a bug, really, and has now been fixed.
300 The settings file to which you save now will be the last one that was encountered in an -ini option
301 (and did actually exist).
302 This change makes new, very versatile use of the settings files possible,
303 for instance to give every user its own, private settings file.
304 </p><p>
305 So "-settingsFile FILENAME" is a way to redirect saving of settings to an existing settings file.
306 The option "-saveSettingsFile FILENAME" has been added as a way to specify where to save settings
307 without any options being read, and without the need for a file of that name to already exist.
308 </p><p>
309 The settings file name specification can now contain symbolic references to user-dependent file names,
310 such as '%HOMEPATH%' for WinBoard and '~' for XBoard.
311 For WinBoard, any environment variables at the beginning of the path names will be recognized and expanded.
312 You could, for instance, also use %HOMEDRIVE%\%HOMEPATH%\winboard.ini,
313 so that people will get their private settings files in (say) 
314 C:\Documents and Settings\&lt;USER NAME>\winboard.ini.
315 The pre-configured winboard.ini in the binary install now will redirect the
316 reading and saving of settings to %APPDATA%\winboard.ini, which on most Windows systems would
317 translate to C:\Documents and Settings\&lt;USER NAME>\Application Data\winboard.ini.
318 <b>So people used to editing their winboard.ini file, beware:
319 you now have to look for that in a completely different place!</b>
320 </p><p>
321 Note that this mechanism of redirection an be nested,
322 and even on a system where a user has no access to the master settings file,
323 and is not comfortable with the location of his private settings file,
324 he could use the -settingsFile option in the latter 
325 to order a second redirection to a location where he would like it.
326 There are in fact novel configuration tricks one can play using such redirection.
327 If you are not happy with the defaults of somem volatile options, 
328 (i.e. options that are not sved with the settings, so that they reset to their defaults the next session),
329 you can change them by editing the required volatile options into your primary user settings file.
330 Because this primary users settings file will never be overwritten when you redirect the settings file away from it,
331 the volatile options in there will stick.
332 And when you write settings for persistent options in that primary file
333 after the -settingsFile option that redirects reading to the settings file where you save,
334 these will overrule the saved options,
335 so that effectively you turn those persistent options in volatile ones with a default chosen by yourself!
336 </p>
337 <h3><a name="tag-A7">Settings file</a></h3>
338 <p>
339 XBoard now can save its settings on a file,
340 like WinBoard already does for years.
341 The format in which the settings are stored is the same as that of the command line,
342 except that all options are on separate lines.
343 The settings can be saved on user command (from the Options menu),
344 as well as automatically on exit, under control of an option -saveSettingsOnExit,
345 which is itself saved in the file.
346 Its value can be changed from the Option menu.
347 </p><p>
348 The contents of the default settings file
349 (/etc/xboard/xboard.conf for XBoard)
350 will be prefixed to the command line,
351 so that the latter overrules any settings in the file.
352 Furthermore, both the settings file and the command line
353 can contain options that refer to other settings files:
354 -settingsFile filename (or its shorthand -ini filename)
355 and @filename both cause the contents of the mentioned file to be inserted in that place.
356 In the case of -settingsFile the filename is also remembered as the place
357 to save the settings.
358 </p><p>
359 The standard install of XBoard uses a -saveSettingsFile and a -settingsFile option
360 in the default settings file to divert loading and saving to a user-specific file
361 ~/.xboardrc in the user's home directory.
362 The system adminitrator can the use the default settings file /etc/xboard/xboard.conf
363 to specify default settings for xboard that he wants to deviate from the compiled-in defaults.
364 As the -settingsFile option that includes the user settings is at the end of the
365 default settings file, the user settings will overrule such system-wide defaults.
366 </p><p>
367 The settings include the open/closed status of the auxiliary windows
368 (Engine Output, Move History, Evaluation Graph),
369 and their position and size.
370 So XBoard will open in the same window configuration and layout
371 as the previous time you left it,
372 when you have Save Settings on Exit on.
373 </p><p>
374 Not all options are saved in the settings file.
375 Some options that are considered unlikely to need the same values next time, are 'volatile'.
376 This applies or instance to the engine names (-fcp, -scp) and accompanying info
377 (-fd, -firstXBook, -fUCI), or the selected variant.
378 These options will thus revert to the compiled-in or system-wide defaults
379 in the next session.
380 </p>
381 <table cellpadding="20" valign="top"><tr><td>
382 <img src="makruk.png">
383 </td><td valign="top">
384 <h3><a name="tag-A9">Thai chess</a></h3>
385 Makruk is a form of Chess played in Thailand,
386 by about 2 million people, which makes it one of the World's major
387 Chess variants.
388 WinBoard / Xboard now supports Makruk:
389 it knows how the pieces moves, that Pawns promote on the 6th rank,
390 and how to set up the initial position (with Pawns on the 3rd rank).
391 Just start XBoard with the option "-variant makruk",
392 or select it from the "File -> New Variant" menu.
393 The letters used in SAN and PGN are M for the Queen replacement
394 (for the Thai name "Med"),
395 which moves one step dagonal, as in Shatranj,
396 and S for the Bishop replacement
397 (which moves like the Silver General from Shogi).
398 </p><p>
399 The latest version of Fairy-Max (4.8o) supports Makruk as a
400 pre-programmed variant.
401 So it can be used as an engine to play this game against the computer.
402 </p>
403 <h3><a>Seirawan chess</a></h3>
404 <p>
405 Another variant that has been added is Seirawan Chess.
406 In this variants the players start with two un-orthodox pieces in hand,
407 which can be 'gated' onto the board when a piece is developed
408 from the back rank (appearing on the square that piece evacuated).
409 In XBoard such moves can now be entered by first selecting the
410 piece you want to gate from the holdings,
411 and then perform your move on the board.
412 When you drag a back-rank piece, you will immediately see
413 the gated piece appearing from under it.
414 Gating moves use SAN (orlong algebraic) promotion notation.
415 </p>
416 </td></tr></table>
417 <h3><a name="tag-B1">Filtering the Game List</a></h3>
418 <p>
419 The XBoard Game-List window now includes a "Filter" field
420 (like WinBoard has),
421 where you can type any text string.
422 The display of the Game List will then be limited to those lines
423 containing the given string. So if you want to see only drawn games,
424 like the screenshot example shown here,
425 you can put "1/2-1/2" in the filter, an press the "Apply" button
426 (or type &lt;Enter>).
427 Of course you have to make sure that the game result is actually
428 amongst the items that are displayed in the Game List lines.
429 (This can be controlled with the -gameListTags option.)
430 </p>
431 <table cellpadding="20" valign="top"><tr><td>
432 <img src="gamelist.png">
433 </td><td valign="top">
434 <p>
435 This feature is very convenient when you are dealing with large game lists.
436 As the 'result comment' is one of the items you can select for
437 display in the game list,
438 it is for instance very easy to find time losses, false claims or
439 illegal moves in your tournaments.
440 Just filter on the phrases "on time", "False" or "Illegal",
441 and only the games appear in the list that ended that way.
442 You can also use it to  easily pick out the games of your own engine from the
443 PGN file of a large tournament like ChessWar.
444 </p><p>
445 Selecting the game to load from the list can now also be done
446 in XBoard using the arrow keys (and &lt;Home>, &lt;End>),
447 which have been given key bindings to the "prev" and "next" buttons
448 in the Game List dialog.
449 </p>
450 </td></tr></table>
451 <h3><a name="tag-B2">Maintaining a healthy ICS connection</a></h3>
452 <p>
453 The -keepAlive option in WinBoard and XBoard now not only serves
454 to prevent you from being automaticaly logged out by the ICS,
455 (be careful not to abuse that!),
456 but now is also checking if the ICS is still responding.
457 If there is no message from the ICS at all in reaction to the 'date'
458 command that WinBoard sends to 'ping' it by the time the next 'date'
459 command is sent, WinBoard will conclude the connection has been
460 broken without the proper notification by the system,
461 and performs a fatal error exit.
462 You can the use a script to have WinBoard automatically
463 establish a new connection, and login again.
464 </p><p>
465 </p>
466 <table cellpadding="20"><tr valign="top"><td>
467 <h3><a name="tag-B4">Game-List options dialog</a></h3>
468 <p>
469 XBoard now has a dialog in its Options menu to select the PGN tags
470 that will be displayed in the Game List,
471 similar to that of WinBoard.
472 The tags can be selected and ordered in a user-friendy way,
473 by selecting them with the mouse, and moving them auround
474 with the up and down buttons.
475 </p><p>
476 The newly selected layout wil become effective
477 the next time a new Game List is made.
478 This can be because you open a new file with multiple games in it,
479 or because you re-open the Game-List window.
480 </p>
481 </td><td>
482 <img src="glopt.png">
483 </td></tr></table>
484 <h3><a name="tag-B5">Claiming a draw in ICS play</a></h3>
485 <p>
486 To claim a draw that will only become claimable after your move,
487 different ICS have different mechanisms.
488 On FICS you have to write "draw MOVE" on the same line.
489 ICC does not understand this, but will count a draw offer made through
490 a plain "draw" command before your move count as a draw claim
491 after that move when this move creates a third repetition or
492 a 50-move draw.
493 </p><p>
494 The ICC mechanism did not need special support,
495 but WinBoard and XBoard now also support the FICS mechanism.
496 You will have to trigger it the same way as doing things on ICC:
497 first offer the draw, then do the move.
498 XBoard will check now for any move (by user or engine) if it will create
499 a claimable draw.
500 And if it does, while the user or engine have just offered a draw,
501 it will first send the move to the ICS 'FICS fashion',
502 and after that it sends the plain move
503 (to accomodate ICS that do not understand this).
504 This should provide a secure way to claim the draw.
505 </p><p>
506 In connection with this patch, the adjudications
507 were made to work in any non-ICS game, not only in Two Machines mode.
508 (For ICS play the ICS of course decides.)
509 </p>
510 <table cellpadding="20"><tr valign="top"><td>
511 <img src="seekgraph.png">
512 </td><td>
513 <h3><a name="tag-B6">Answering seek ads on an ICS</a></h3>
514 <p>
515 WinBoard and XBoard now support a seek graph.
516 This graph can appear in place of the board when you are
517 logged on to an ICS, and not playing or observing a game.
518 When you click the board in this situation,
519 a 'sought' command will be sent to the ICS to fetch the list of
520 seek ads (without you seeing it).
521 This list will then be represented as a 2-dimensional graph,
522 with time-control on the horizontal axis, and opponent rating on the vertical.
523 </p><p>
524 Clicking one of the dots will send a 'play' command to the ICS
525 to challenge that opponent (which will usually start the game immediately).
526 You can also click a dot to interrogate it,
527 i.e. see the details of the corresponding seek ad displayed
528 in the message field above the board.
529 </p><p>
530 Which click will do what is not yet fully decided;
531 the current trial version (in the 'seekgraph' branch of the repository here)
532 can do everything with only the left mouse button,
533 the down-click for showing the ad details,
534 the up-click (if it is still on the dot) to start the game.
535 The right button can make life a bit easier, though;
536 the press here also shows the ad text,
537 but the release is always ignored,
538 so that you don't have to worry where to do the up-click
539 in case you don't want to make the challenge after reading the ad.
540 </p><p>
541 To activate this functionality, you will have to use the option
542 "-seekGraph true" (shorthand "-sg").
543 The automatic refreshing of the graph currently is supported only for
544 FICS and ICC (and compatible servers),
545 and must be swiched on with the option "-autoRefresh true".
546 Both these options are persistent, i.e. saved to the settings file,
547 but their default setting is "false", so you have to enable them
548 at least once.
549 WinBoard has checkboxes in the Options -> ICS menu dialog for setting these options.
550 </p>
551 </td></tr></table>
552 <h3><a name="tag-B7">One-click moving</a></h3>
553 <p>
554 When the option "-oneClickMove" is set to "true",
555 clicking a square to or from which only a single legal move is possible
556 causes that move to be made immediately.
557 I.e. you can click your own piece to make it move,
558 or you can click an empty squareto move there,
559 or an enemy piece to capture it.
560 This works when playing on ICS or against an engine.
561 Currently left-click is used,
562 but it is still under study if it would be better
563 (e.g. less accident prone)
564 to use another type of click for this.
565 (E.g. double clicking, or right-clicking.)
566 </p><p>
567 Another type of'smart move' enabled by this option is an only-capture:
568 when a piece has only a single captur move, a double left-click
569 on that piece makes the capture.
570 WinBoard has a checkbox in the Options -> ICS menu dialog for switching this option.
571 </p>
572 <h3><a name="tag-B8">Observing an ICS game while playing</a></h3>
573 It is now possible to observe a game 'in the background',
574 while playing on an ICS.
575 When the (persistent) option "-backgroundObserve true" is used,
576 XBoard / WinBoard will not let incoming boards from observed games disturb the
577 display of a game you are currently playing.
578 It will merely store the board in memory for safe keeping,
579 and will display a summary line in the message field above the board,
580 listing the remaining times of white and black player,
581 their strength, and which side is to move.
582 Pressing the right mouse button will summon up the last such received board
583 on the display, in stead of the position in your own game,
584 until you release that button again.
585 </p><p>
586 This way you can have a quick peek at the game you are observing,
587 which might be useful when playing bughouse on an ICS that
588 does not allow guest logins to follow the game of your partner
589 on another instance of XBoard.
590 WinBoard has a checkbox in the Options -> ICS menu dialog for switching this option.
591 </p>
592 <h3><a name="tag-C1">Recalling old input lines in ICS play</a></h3>
593 <p>
594 XBoard now allows the use op the <Up> and <Down> arrow keys
595 to call up and walk through previously given input lines,
596 (WinBoard already had this.)
597 so you can reset them (possibly after correcting the typo that made
598 the ICS not understand them in the first place.
599 For this you must use the ICS input box,
600 like with any other form of local line editing;
601 what you type directly in the X-terminal console window will
602 not be remembered, and the arrows will not work there.
603 <h3><a name="tag-C2">Making it easier to start a chat</a></h3>
604 <p>
605 The user interface for the chat windows of WinBoard has been improved.
606 Next to dedicating a Chat Box to a single handle, channel or whispers,
607 it is now also possible to dedicate it to shouts.
608 (Just type 'shouts' in the chat-partner field.)
609 In addition, it is now possible to open a Chat Box pre-intialized
610 for talking to a given handle from the ICS context menu:
611 right-clicking a player name in the ICS text field of the console
612 will pop up the ICS context menu.
613 You will now find an item "Open Chat Box (name)" in this menu.
614 Selecting that will pop up a fresh Chat Box,
615 (provided that you have not yet reached your maximum quota of chat boxes,
616 which has been increased to 5),
617 with the name that
618 you clicked already in the Chat Partner field,
619 so that you can immediately start typing your first message
620 to that person.
621 (And receive his answers in that Chat Box, as usual.)
622 </p><p>
623 The Chat Boxes now aso contain buttons to directly navigate to other
624 Chat Windows, making a stacked set of Chat Windows behave
625 like it was a single tabbed window.
626 The buttons turn grey if there was activity in the corresponding
627 box (if it is not the top-most).
628 A new command-line option -chatBoxes can be used to already have some
629 boxes opened at startup.
630 E.g. -chatBoxes "shouts;50" would open Chat Boxes for handling shouts
631 and channel-50 traffic.
632 WinBoard has a textedit in the Options -> ICS menu dialog for
633 defining the startup Chat Boxes.
634 </p><p>
635 The ICS text menu now already appears on the down-click of the right
636 mouse button, so that the release of the same click can already be used
637 to select an item from the menu.
638 The menu now also pops up in such a way that the upper-right item
639 is already under the mouse pointer as soon as it appears.
640 As the menu is user-configurable through the -icsMenu option,
641 the user could put a default action there.
642 This action will then be triggered by a simple (stationary) right-click
643 in the ICS text field.
644 In the default setting, the "Open Chat Box (name)" item is in this
645 position, so a right-click on a handle will open a Chat Box to that handle.
646 But all other actions can also still be selected, by moving the pointer there
647 before you up-click.
648 </p><p>
649 It is now possible to define commands in the ICS text menu that use the
650 clicked player name not at the end, but somewhere in the middle.
651 A "%s" contained in the defined command string will be replaced by the player name
652 (or selected text), and only if the command does not contain %s it is appended at the end.
653 </p><p>
654 Yet another improvement is that the Chat Boxes now recognize URLs,
655 and open a browser to display the corresponding web page when you click one.
656 </p>
657 <table cellpadding="20" valign="top"><tr><td>
658 <h3><a name="tag-C3">Uploading a game to an ICS</a></h3>
659 <p>
660 It is now possible to let XBoard and WinBoard upload a game to the ICS
661 for examining.
662 When you are logged on to an ICS,
663 there is an item "Upload to Examine" available in the "Action" menu.
664 Selecting this will start an examined game on the ICS,
665 and send all moves of the game currently in XBoard.
666 This could be a game you just played or observed,
667 but it could also be a game loaded from a game file,
668 or pasted into XBoard from the clipboard.
669 If there is no current game in XBoard,
670 an new examined game will be started in the opening position
671 </p><p>
672 You can only use this command at times you are not doing anything else
673 on the ICS (like playing or observing).
674 When the currently loaded game is a variant,
675 XBoard tries to figure out the wild number to start an examined
676 game in that variant.
677 This is experimental, and might not always work,
678 especially in variants that not every ICS supports
679 (e.g. Shatranj, Xiangqi, Shogi or Makruk).
680 Castling rights in FRC might still be problematic.
681 </p>
682 </td><td>
683 <img src="upload.png">
684 </td></tr></table>
685 <table cellpadding="20" valign="top"><tr><td>
686 <img src="dual.png">
687 </td><td>
688 <h3><a name="tag-C5">Displaying two boards at once</a></h3>
689 <p>
690 This is a _very_ experimental patch (more a hack really).
691 When the option -backgroundObserve is in force,
692 so that you can observe an ICS game while playing one,
693 using the (persistent) option -dualBoard true,
694 the board of the observed game is displayed right of the
695 board of your own game,
696 in the same window.
697 This way you can keep it in view all the time,
698 rather than having to press a mouse button for it.
699 </p><p>
700 This works in both WinBoard and XBoard,
701 although in the latter it messes up positioning of the clocks
702 for your own game.
703 (No clocks are displayed for the partner game yet.)
704 When the observed game has a different board format than
705 the one you are playing, the result is undefined.
706 Many other things, such as highlighting, might not work correctly yet.
707 WinBoard has a checkbox in the Options -> ICS menu dialog for switching this option.
708 </p>
709 </td></tr></table>
710 <h3><a name="tag-C6">National versions</a></h3>
711 <p>
712 WinBoard is now able to display all texts in its menus,
713 dialogs and displayed messages, in a foreign language, under direction of a language file.
714 This file must contain a list of substitutions to be made,
715 of the form "original English text" === "replacement text".
716 A new persistent option /language=FILENAME will cause WinBoard
717 to use the mentioned file to translate itself.
718 If the FILENAME does not contain a period, the extention ".LNG" will be automatically appended.
719 </p><p>
720 All available translations should appear in the Help menu, and by clicking one
721 WinBoard should switch to that language. 
722 (This is still an experimental feature,
723 and not all text might change when you apply it a second time.)
724 </p><p>
725 A Spanish translation is already available in a file español.lng.
726 We hope other translations will follow soon.
727 </p>
728 <h3><a name="tag-C7">Local PGN and FEN standards</a></h3>
729 <p>
730 Sometimes one encounters FENs or SAN moves that use piece indicators that are not standard.
731 E.g. because they are in another language, or for a variant that has no unambiguous standard.
732 The (volatile) options -pieceNickNames and -colorNickNames can be used to make XBoard / WinBoard aware of these alternative names,
733 so it can read FEN ans PGN files using them, next to the standard names.
734 If standard names and nick names conflict, the nick names will prevail.
735 On output, and for communicating with engines, the standard names will always be used.
736 </p>
737
738 <table cellpadding="20" valign="top"><tr><td>
739 <h3><a name="tag-D6">A file-selector dialog for XBoard</a></h3>
740 <p>
741 Until now the only way to select a file for opening in XBoard (e.g. with Load Game)
742 was to type its name in a small dialog box.
743 This has now changed, as we borrowed the file browser from GhostView and ported it to XBoard.
744 For every file you want to open you can now navigate through your file system,
745 seeing the contents of three levels of directories at once,
746 and just clicking on the file you want to load.
747 </p>
748 <h3><a name="tag-C8">Xiangqi adjudications</a></h3>
749 <p>
750 The recognition of mating potential in Xiangqi has been made 100% accurate,
751 so that this variant can now be played with the option -materialDraws on.
752 The option -trivialDraws now also has special Xiangqi knowledge,
753 and catches most cases where both sides have not enough material to overcome the opponent defenders.
754 The Xiangqi 50-move rule has been changed to not count checks and check evasions.
755 </p>
756 <h3><a name="tag-C9">Starting an engine-engine match</a></h3>
757 <p>
758 WinBoard now has a menu item (in the Mode menu) to start a match between two engines.
759 The number of games will be taken from the value of the (persistent) option /defaultMatchGames,
760 which can now be set from the Options -> Common Engine dialog.
761 WinBoard will not automatically exit after a match that was started this way finishes,
762 as it does with matches started with the -mg or -mm option.
763 </p>
764 </td><td>
765 <img src="browse.png">
766 </td></tr></table>
767
768 <h3><a name="tag-C10">Book-move selection</a></h3>
769 <p>
770 The selection of moves from the GUI book can now be controlled through two new (persistent) options:
771 -bookDepth and -bookVariation.
772 The value of these options can be set in the Options -> COmmon Engine menu dialog.
773 With -bookDepth N you can limit use of the book to the first N full moves of each game.
774 The value of -bookVariation N can be used to tune the randomness of the move choice.
775 It can be varied from totally random picking of one of the listed moves,
776 ignoring the book weights (N=100), to playng the move(s) with the highest weights only (N=0).
777 The default setting, N=50, would play the moves with a frequency proportional to the book weight.
778 </p>
779 <h3><a name="tag-C11">Adjusting the clocks in OTB tournaments</a></h3>
780 <p>
781 The clocks can no be adjusted in any mode using them, by Shift left-click to subtract a minute,
782 and Shift right-click to add one.
783 Before this was only possible by (unshifted) clicking in Edit-Game mode.
784 Plain clicking still counts as claiming the flag in other modes.
785 </p>
786 <h3><a name="tag-C12">Editing Comments</a></h3>
787 <p>
788 The editing of comments has been slightly changed.
789 Previous versions of WinBoard / XBoard considered anything enclosed in (), [], or {} as comment,
790 and when you edited it, automatically put braces {} around it before saving the result.
791 This would mess up (sub-)variations, which should be in parentheses ().
792 The editing of comments now has been changed to explicitly show you the enclosing delimiters.
793 This way the correct type of bracketing will be preserved on editing.
794 The downside of this is that the user will remain responsible for preserving correctness
795 of the nesting and concatenation of different types of comments.
796 E.g. the comment box could contain a true comment, starting with '{',
797 and be followed by a variation, ending with ')',
798 and changing the latter into '}' before saving the new comment would thoroughly mess things up.
799 </p><p>
800 There is one exception: when enclosing bracketing is obviously missing,
801 enclosing braces {} are still added.
802 So when adding a comment in places where there was nothing,
803 if you type a plain text,
804 the old behavior still applies, and you will get a regular comment in your PGN.
805 </p>
806 <h3><a name="tag-D1">Reorganization of the menus</a></h3>
807 <p>
808 The menus of XBoard and WinBoard have been re-organized.
809 You will still find most of the familiar items,
810 but they have been re-grouped into different main menus now.
811 New are the 'Edit' and 'View' main menus,
812 created to make the menu structure more standard.
813 Another new main item is the 'Engine' menu, while the 'Step' menu is gone.
814 </p><p>
815 The 'File' menu has been slimmed down a bit.
816 The Copy and Paste items have been relocated to 'Edit',
817 where they belong.
818 The items to load next,previous or the same games or positions
819 have been removed.
820 (The shortcut keys will still work, though.)
821 The Game List should provide a more convenient way
822 to select games from multi-game files.
823 </p><p>
824 All items for popping up auxiliary windows have been removed
825 from the 'Mode' menu, and now are in the new 'View' menu.
826 The latter also contains the items for Board and Font options
827 (which do not yet exist in XBoard).
828 Flip View and Swap Clocks (WB) have also been moved there.
829 </p><p>
830 The 'Step' menu is gone;
831 its items are mostly moved to the new 'Edit' menu,
832 as some (like 'Truncate Game') were clearly edit functions,
833 and also stepping through the game is mostly used for editing.
834 (And I cannot imagine anyone using menus for that anyway,
835 as the button bar and keyboard arrows perform amuch less
836 clumsy way to do that...)
837 For completeness also all other editing functions
838 (games, positions, tags, comments)
839 have been added to the 'Edit' menu as duplicats.
840 </p><p>
841 The new 'Engine' main menu contains the items for setting
842 Engine options.
843 (And the second engine now automatically starts when
844 you want to see or alter its options!)
845 It also contains the items that directly interact with the engine,
846 such as Move Now, Retract Move, Book and Hint.
847 </p>
848 <h3><a name="tag-D2">Annotating a game with analysis results</a></h3>
849 <p>
850 The mode 'Analyze File' has been given a new function.
851 In stead of switching to plain analysis mode after loading the file,
852 (which you could have done by loading the file,
853 and then switching on 'Analysis Mode'),
854 it now auto-plays the game in analysis mode.
855 As the auto-play steps through all positions,
856 these are analyzed by the engine,
857 and the game is annotated with the results from this analysis.
858 In particular the score and depth of the engine's
859 final PV line are stored,
860 (so later appear in the PGN as comments, when you save the game),
861 and the PV itself is added as a comment in PGN variation format.
862 </p>
863 <table cellpadding="10"><tr><td>
864 <img src="Spartan.png">
865 </td><td>
866 <h3><a name="tag-D3">Using arbitrary graphics for the board</a></h3>
867 <p>
868 In XBoard the graphics for the squares used to come
869 together with those for the pieces.
870 This made all squares of the same color look exactly the same.
871 The human eye is very sensitive to such spatial repetition.
872 It is now possible to use an arbitrary image as texture for the board squares.
873 The options -liteBackTextureFile and -darkBackTextureFile,
874 which were already working in WinBoard, can now also be used in XBoard
875 to accomplish this.
876 They must specify a pixmap file that is at least as large as a board square.
877 If the pixmap is larger, XBoard will cut the squares from it with
878 as little overlap as possible, to prevent repetitive patterns.
879 If you supply a pixmap larger than the entire board,
880 the squares cut from them are not overlapping at all,
881 and are cut in a way that centers them on the largest squares
882 that could be cut from the pixmap without overlapping.
883 This is useful when you want to supply a pixmap of a complete
884 Xiangqi board, and then want to use it at a different square size.
885 </p>
886 <h3><a name="tag-D5">Highlight moves with arrow</a></h3>
887 <p>
888 XBoard now also allows highlighting of the last move with an arrow.
889 This allows you to set the width of the grid lines to zero,
890 for a nicer look of the board when you use textures,
891 and still highlight the move.
892 (Not for pre-move yet, sorry.)
893 A menu item in the Option menu controls this feature.
894 <h3><a name="tag-D4">Variant engines can setup the opening position</a></h3>
895 <p>
896 General support for variants has been enhanced by extending
897 WinBoard protocol with a command that an engine can use to set up
898 the opening position of a variant that XBoard does not know.
899 When XBoard at the beginning of the game, when legality testing is off,
900 receives a 'setup' command from the first engine,
901 it takes the setting of the pieceToCharTable and FEN for the
902 initial position from this command.
903 In all other cases the command is ignored.
904 The second engine will receive the start position from XBoard,
905 and the game counts as having been started from a setup position.
906 Fairy-Max uses this feature to play, (amongst others),
907 Spartan Chess, (picture on the left), which requires two Kings,
908 and thus cannot be mapped on the standard opening position
909 for variants where white and black have different pieces
910 (as is used in variant fairy).
911 </td></tr></table>
912
913 </div><!-- for id="content", starts in the include above -->
914 <!--#include virtual="/server/footer.html" -->
915 <div id="footer">
916
917 <p>Please send general FSF &amp; GNU inquiries to
918 <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.
919 There are also <a href="/contact/">other ways to contact</a>
920 the FSF.<br />
921 Please send broken links and other corrections or suggestions to
922 <a href="mailto:bug-xboard@gnu.org">&lt;bug-xboard@gnu.org&gt;</a>.</p>
923
924 <p>Please see the <a
925 href="/server/standards/README.translations.html">Translations
926 README</a> for information on coordinating and submitting translations
927 of this article.</p>
928
929 <p>Copyright &copy; 2009, 2010, 2011, 2012 Free Software Foundation, Inc.</p>
930
931 <p>This page is licensed under a <a rel="license"
932 href="http://creativecommons.org/licenses/by-nd/3.0/us/">Creative
933 Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
934
935 <p>Updated:
936 <!-- timestamp start -->
937 $Date: 2012/01/11 04:39:59 $
938 <!-- timestamp end -->
939 </p>
940 </div>
941 </div>
942 </body>
943 </html>