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