brianr wrote:Personally, I strongly prefer all Winboard files to be in the directory where I "install" Winboard. If I want multiple versions, I can create them, all with different, easily edited .ini files. Moreover, I don't want any installerl, nor any file types associated with anything, nor any start menu folders or other shortcuts, etc. I can manage all that if and when needed. For example, I use .pgn files with SCID, Arena, Winboard, Bayeselo, Notepad, etc...
Well, most users do want start-menu items, and it is difficult to please everyone. It should be posible to offer a 'portable release' next to the installer, though. This could nearly contain everything (Polyglot and other adapters, engines) that the installer package contains, and thus would still be very much more elaborate than a 'bare-bones' package containing only winboard.exe + winboard.ini.
But the design of the tournament manager is really such that it is no good without associating TRN files with the command
winboard.exe @tourney -tf %1, or at least
winboard.exe -mm -tf %1, to start WinBoard in tourney mode when you double-click such a file. I am surprised you like the tourney manager even without that working, because I would think it sucked if I could not do that! Portable installs are not supposed to make such associations.
Perhaps a Windows expert can help us here: is it possible to make file associations 'by hand' (e.g. using the properties menu), which have a non-trivial command line (which contains all kind of command-line options next to the application filename and document filename)?
Let's be realistic. Winboard is far from a program that an average, non-technical Windows user would ever use on a PC with multiple user accounts. I suspect that the primary Winboard users are engine authors, testers, and other computer chess enthusiasts.
Actually most users are FICS players, without any technical background whatsoever. I have no statistics on this, but having more persons in one family, sharing one computer and each using FICS does not seem that far-fetched a scenario. Many schools install WinBoard on the school computer, and the pupils will have different accounts.
Please, please revert to the earlier, simpler approach and keep all .ini files out of any "my documents" and as far from the Windows registry as possible.
For technical people that want this, it should not be too difficult to configure it themselves. The master ini file still is in the WinBoard folder, as always. It is this master ini file that the saving is redirected to the user's AppData folder, by the options it contains at the end:
/settingsFile=%APPDATA%\winboard.ini
/saveSettingsFile=%APPDATA%\winboard.ini
If you delete those two lines, WinBoard would save the settings to the winboard.ini in its own folder, as always, overwriting the installed winboard.ini. This is not recommended, however, as it destroys the master / slave structure of the settings files, and thus removes the possibility to alter defaults of volatile options (which do not survive whe the slave settings file is overwritten on the next saving of settings). It is better to change the lines to
/settingsFile=setting.ini
/saveSettingsFile=settings.ini
upon which you would have the user settings be saved in settings.ini in the WinBoard folder, and the winboard.ini remains available as master settings file, where you can safely specify volatile options.
I just counted 16 separate .ini files. One could just use the traditional winboard.ini file in Winboard's own directory. Then create a separate "volatile.ini" file for the appropriate options in the same place. Each of these two files would have mostly the same set of sections to consolidate/replace the numerous separate .ini files now used.
Your proposed volatile.ini seems to coincide with what I called settings.ini above. As I showed there, this is no property of WinBoard, but merely of the configuration, and editing the winboard.ini can achieve this. I am not sure which other ini files you refer to. Are these all winboard.ini? If you mean files like viewer.ini, tourney.ini, ICSbot.ini, FICS.ini... These are not used for saving settings, but are merely used to collect the options used in the various shortcuts (and menu items, which technically are shortcuts in the menu folder) that are supplied with the install. They contain the command-line options that logically should have been in the 'target' line of the shortcut (as the Properties dialog calls the command line). The target lines have a length limit, however, so that the required options won't fit there. In addition, most people would not be able to find their menu shortcuts to alter the command line in those. Finally, the command lines needed for file associations are not even shortcuts, but hidden in the registry. So to give the users an easy to access, easy to change method for configuring these shortcuts / menu items / associations, the options used by those are collected in editable ini files in the WinBoard folder.
Note that also in these 'shortcut ini files' saving and reloading of the settings can be specified. In the latest release I used this in the FICS and ICC menu items to give them a user settings file (winboard_ics.ini in AppData) that is different from the user settings file that would be normally used (e.g. when starting from the startup dialog). This because the optimal configuration for ICS use is often very different from that for other uses (other windows open, other screen layout, board size). By employing a separate user settings file, the settings for the two tasks will never mix.