added some text to the upcoming section; fixed link to an image in 4.5.2 what's new...
[xboard.git] / whats_new / 4.5.2 / index.html
1 <!--#include virtual="/server/header.html" -->
2 <title>XBoard - GNU Project - Free Software Foundation - NEWS</title>
3 <!--#include virtual="/server/banner.html" -->
4 <h2>What is new in WinBoard / XBoard 4.5.2?</h2>
5 <table cellpadding="20"><tr valign="top"><td>
6
7 <ul><li>
8 <a href="#tag-A1">A universal dialog constructor</a>
9 </li><li>
10 <a href="#tag-A2">Re-organization of the Options menu</a>
11 </li><li>
12 <a href="#tag-A3">Installing sounds with XBoard</a>
13 </li><li>
14 <a href="#tag-A4">Starting an engine match from the menu</a>
15 </li><li>
16 <a href="#tag-C3">Changing the board look during a session</a>
17 </li><li>
18 <a href="#tag-C4">Sending instant ICS commands</a>
19 </li><li>
20 <a href="#tag-A5">Enhancing some existing menu dialogs</a>
21 </li><li>
22 <a href="#tag-A6">Browsing for file and path names</a>
23 </li><li>
24 <a href="#tag-A7">Filtering files by extension</a>
25 </li><li>
26 <a href="#tag-C8">Operating scroll bars with the mouse wheel</a>
27 </li></ul>
28 </td><td>
29
30 <img src="winboardF.png">
31 <p>
32 <a href="index.html">Home</a>
33 </p>
34 </td></tr></table>
35
36
37 <table cellpadding="20" valign="top"><tr><td align="center">
38 <p>
39 <img src="LoadOpt.png">
40 </p><p>
41 <img src="SaveOpt.png">
42 </p>
43 </td><td valign="top">
44 <h3><a name="tag-A1">New dialogs through a universal dialog constructor</a></h3>
45 <p>
46 XBoard did already have a 'universal' dialog constructor,
47 for creating the Engine #N Settings popup based on the list of options sent by the engine.
48 This constructor has been adapted a little to not send the user-specified settings to the engine,
49 but set XBoard's internal options in stead.
50 This means that dialogs now can be added with very little effort,
51 by making a list of options containing the type (spin, check, string, combo, button),
52 name (= text to appear with the control) and XBoard internal option it should set.
53 </p><p>
54 This dialog constructor has been used to add Save and Load-Options dialogs
55 similar to those WinBoard already had to XBoard.
56 Because it is now totally trivial to add a new option to an existing dialog
57 (just add one line in the table specifying the options),
58 the Save-Options dialog has also be made to include the -savePositionFile.
59 </p>
60 <h3><a name="tag-A6">A browse button with file or path-name options</a></h3>
61 <p>
62 Note that the dialog constructor now supports browse buttons next to text
63 fields that are intended for entering a file or path name.
64 Pressing this button summons up the file-selector dialog,
65 and the name of the selected file will be copied to the text field
66 on pressing OK there.
67 There have been other small improvements in the operation of the dialogs as well,
68 like checkboxes reacting to clicking on the accompanying text,
69 positioning the cursor in clicked text edits, and such.
70 </p>
71 </td></tr></table>
72
73 <h3><a name="tag-A2">Reorganiation of the XBoard Options menu</a></h3>
74 <p>
75 The XBoard 'Options' main menu used to hold all items to set options,
76 where a checkmark indicated the current stateof the option.
77 Apart from the fact that this obviously would not work for numeric or text options,
78 the number of options was growing so large that this became a bit of a clutter.
79 The univeral dialog constructor was used to group the actual items
80 sets of dialogs, which are then summoned from the Options main menu.
81 </p>
82 <table cellpadding="20" valign="top"><tr><td>
83 <p>
84 The existing items roughly came in two kinds:
85 those that could always be used,
86 and those that only affected behavior in ICS play.
87 The latter were greyed-out from the menu in local modes.
88 The generally useful options were all moved to a "General Options" dialog,
89 except for "Ponder Next Move", which was really an engine-related option,
90 and was already contained as a duplicat in the "Common Engine" dialog.
91 The better capabilities of a dialog compared to a simple menu
92 were used to allow better specification of the "Flash Moves" option:
93 one can now actually enter the -flashRate and -flashCount settings through a spin control.
94 </p><p>
95 The ICS-related options were all moved to an "ICS Options" dialog,
96 which is then greyed-out as a whole in the main Options menu.
97 The new capabilities of the dialog were exploited for adding
98 options to set intial black and white premove texts,
99 the ICS Alarm setting,
100 and the text colorization in the ICS console.
101 </p>
102 <img src="ICSOpt.png">
103 </td><td valign="top">
104 <img src="GenOpt.png">
105 </td></tr></table>
106
107
108 <table cellpadding="20" valign="top"><tr><td>
109 <img src="SoundOpt.png">
110 </td><td>
111 <h3><a name="tag-A3">Sounds and XBoard</a></h3>
112 <p>
113 The sounds in XBoards were a bit of a neglected feature.
114 Binary distribtions (such as Debian, Ubuntu) often did not even contain any sounds,
115 and a normal 'make install' from source left the sound files untouched in the source directory.
116 Configuring XBoard to use the sounds was therefore cumbersome, through many command-line options
117 not in the least because an external sound player is needed.
118 </p><p>
119 The new Sound Options dialog changes all that!
120 For every event there is a combobox where you can select a standard sound
121 (as supplied in the XBoard source package),
122 or a user-specified file (in a text edit at the top of the dialog).
123 A new option -soundDirectory has been added, which can also be set from the dialog,
124 where all the standard sounds will be sought.
125 (So if you just build XBoard and the binary is still sitting in the source directory,
126 setting the sound directory to "sounds"makes all the WAV files with the standard sounds
127 distributed in this subdirectory available.)
128 </p><p>
129 An extra combobox plus a 'Play' button for trying out a sound has been incorporated
130 in the dialog as well.
131 It still has to be decided if in the future sound files will be shipped with XBoard,
132 and if so, which will be included in the standard package.
133 </p>
134 </td></tr></table>
135
136 <table cellpadding="20" valign="top"><tr><td>
137 <h3><a name="tag-A4">Conducting engine matches interactively</a></h3>
138 <p>
139 A menu item has been added in XBoard to start an engine match. (WinBoard already had this.)
140 Formerly this was only possible by using the -mm (-matchMode) and -mg (-matchGames) on the comamand line,
141 and after the match XBoard would terminate automatically (possibly with an Exit popup with the match result).
142 When a match is started from the meu, you still will get this popup, but XBoard will not terminate.
143 </p><p>
144 To define the parameters for the match, XBoard now has a new "Match Options" dialog.
145 Here you can set the number of games,
146 the file to use for opening lines (-lgf = -loadGameFile) or start positions (-lpf = -loadPositionFile),
147 and the number of game or position to use from this file (-lgi / -loadGameIndex or -lpi / -loadPositionIndex).
148 As in the command-line option, a value of -1 for the index will specify it should increment after every game
149 (always starting at 1), and -2 after every 2 games.
150 The value at which the index should 'rewind' to 1 can also be given, all through spin controls.
151 </p>
152 </td><td>
153 <img src="MatchOpt.png">
154 </td></tr></table>
155
156 <table cellpadding="20" valign="top"><tr><td>
157 <img src="NewVar.png">
158 </td><td>
159 <h3><a name="tag-A5">Redesigning existing dialogs</a></h3>
160 <p>
161 Some of the existing dialogs (Common Engine, Adjudication Options, New Variant) have been redesigned, 
162 to simplify the XBoard code, and to make use of the new features offered by the universal dialog constructor.
163 In this way the New Variant dialog has now be equipped with spin controls to set overrule the default board size
164 of the selected variant,
165 and operation has been made easier by using the variant selection button as menu items,
166 rather than selection buttons that you have to OK afterwards.
167 Clicking a variant now imemdiately selects it and closes the dialog.
168 </p><p>
169 The Common Engine settings and Adjudication Options dialogs now can use spin controls 
170 rather than simple text edits for the numeric values.
171 </p>
172 <pre>
173 <img src="ComOpt.png">     <img src="AdjuOpt.png">
174 </pre>
175 </td></tr></table>
176 <table cellpadding="20" valign="top"><tr><td>
177 <h3><a name="tag-A7">Selecting files of a given type only</a></h3>
178 <p>
179 The file-selection dialog of XBoard now has the capability
180 to filter the files it displays by extension.
181 This is useful, as typically you are only interested in *.fen or *.epd
182 files when you are browsing for the purpose of opening a position file.
183 Without this feature the files you are looking for would easily drawn
184 in the background of other files.
185 </p><p>
186 The file-selection dialog now has an extra text field where you can
187 write one or more extensions (separated by spaces),
188 and only filenames that contain one of these as a substring are displayed.
189 (And directories; these are always displayed, in order to browse.)
190 XBoard initializes this field according to what command invoked
191 the file selector.
192 E.g. Load Game will ask for *.pgn and *.game files,
193 Load Position for *.fen, *.epd and *.pos files,
194 Save Game for *.pgn or *.pos files
195 (depending on if you have selected "old save style" or not), etc.
196 </p><p>
197 When the file selector is invoked through a browse buttonin another dialog,
198 it selects those files with the same extenstion as what is currently
199 in the field that you are selecting for.
200 Of course you can change the extension field by erasing what is there,
201 or typing your own extensions.
202 To have such a change take effect, you should type &lt;Enter> while in this field.
203 </p>
204 <h3><a name="tag-C8">Using the mouse wheel</a></h3>
205 <p>
206 An experimental feature in the file browser is the use of the mouse wheel.
207 Because of the way scroll bars work in X-applications,
208 they are rather hard to operate if you do not have a middle mouse button.
209 Laptops nowadays often use the right edge of the mouse touch pad
210 as mouse wheel, however.
211 Therefore operaton of the mouse wheel in the area of the file lists
212 or vertical scroll bars are made to scroll these lists.
213 Other refinements of the file-browse dialog are that double-clicking a filename counts as if you pressed 'OK',
214 as does typing &lt;Enter> in the filename field.
215 Typing &lt;Esc> there is equivaent to pressing 'cancel'.
216 </p>
217 </td><td>
218 <image src="Browse.png">
219 </td></tr></table>
220
221 <table cellpadding="20" valign="top"><tr><td>
222 <img src="BoardOpt.png">
223 </td><td>
224 <h3><a name="tag-C3">Configuring the board look from the menu</a></h3>
225 <p>
226 There also has been created a new XBoard dialog for setting the Board Options,
227 such as square and piece colors (in the View menu).
228 This is still in an experimental stage, and probably not fully functional, or even buggy.
229 This is not so much because the dialog does not work,
230 but because the XBoard code is not really designed to change these during the session,
231 as many preparatory steps are done at startup, 
232 which have to be redone with the new option settings for the latter to take effect,
233 and I have not yet identified them all.
234 But in any case changing the settings, quitting XBoard, and restarting it will work,
235 because the option changes are persistent.
236 </p><p>
237 The color settings of the various board elements can be changed by retyping the RGB code,
238 but it is also possible to slightly adjust the colors by spinlike buttons.
239 Because colors form a 3-dimensional space, this cannot be done by simple '+' and '-' buttons,
240 but requires four different adjustment directions:
241 buttons to make the color redder, greener, bluer or whiter.
242 </p><p>
243 Text-edits are provided to specify filenames for board texture,
244 and the directories with alternate piece images 
245 (corresponding to the -bitmapDirectory and -pixmapDirectory command-line options).
246 </p>
247 </td></tr></table>
248 <table cellpadding="20" valign="top"><tr><td>
249 <h4><a name="tag-C4">Sending prepared commands to an ICS</a></h3>
250 <p>
251 This is an attempt to equip XBoard with something similar to the
252 WinBoard ICS context menu.
253 The user can define a set of buttons and a set of commands
254 to be send to the ICS when these buttons are pressed,
255 through the -icsMenu option.
256 The commands can be complete, such as "who" or "ptell I need a Queen!",
257 in which case they are sent to the ICS immediately.
258 But they can also contain the keyword $input,
259 in which case they will be placed in the ICS Input Box,
260 with the cursor at the place where the $input was
261 (which is deleted).
262 The user can then type something to complete the command,
263 and press &lt;Enter> to send it.
264 E.g. "shout $input".
265 </p><p>
266 It is also possible to let the command contain something you select
267 with the mouse elsewhere.
268 Usually this is an ICS handle from the ICS console.
269 This is done by having the command contain the keyword $name,
270 e.g. "finger $name", or "tell $name $input".
271 You can also specify a command should not replace what is in the Input Box,
272 but rather append to it,
273 by having it start with $add.
274 This can be useful for bughouse players,
275 to quickly ask for a list of pieces.
276 </p>
277 </td><td>
278 <img src="TextMenu.png">
279 </td></tr></table>
280
281 <!--#include virtual="/server/footer.html" -->
282