I made some progress in backporting the WinBoard front-end to xboard, the past week. As a result, xboard now also features the engine-output and move-history windows known from Winboard_x. (The latter already seemed to exist in xboard 4.2.7 as dead code, btw; I merely activated it by creating a menu item to pop it up.)
I also added some pop-up menus, comparable to the WinBoard 4.3.14 Options->engine, Options->UCI, Options->Time Control, File->New Shuffle Game and File->New Variant menus. So many parameters, such as time control and variant, can now be set interactively.
Although there still is some way to go, this is a major step along the path of bringing xboard on par with the newest WinBoard versions. I am still ironing out a few bugs concerning coloring, but expect to be able to release very soon!
A screenshot:
(Oops! I see that I also captured part of the Linux menu bar! You will have to un-imagine the top quarter inch of the screenshot...)
Yes, perhaps. But that reeks of politics, and I am also quite happy to be unofficial maintainer. As long as I supply the best xboard on the planet (largely thanks to the effort of those who worked on it before me, of course), I am happy!
Some more screen shots, of the various new menu popups:
Interactive setting of the time control and time-odds factors in the Options -> Time Control... popup:
The various adjudications can be enabled through toggle buttons after Options -> Engine...:
For UCI engines, the hash, egtb cache and books can be interactively chosen through Options -> UCI ...:
Variants can be selected in the File -> New Variant... popup through radio-buttons, and if the variant requires it, xboard automatically adapts its window size:
If your version of XBoard is the best (and I think it is), it should be the official version.
The official version is the one included in the repositories of all Linux distributions. It is the version a user can install simply by typing one command. If your version is not the official, only a fraction of all chess playing Linux users will know about it and use it.
I don't see the drawbacks. If ever you get bored/tired someone else will pick up, perhaps not now but later. In any case, you will have made a significant contribution which XBoard has needed for a long time. But if it is only a fork, and sometime you abandon it, it will likely get lost.
Well, it is not so much a fork as a continuation. The "official" development was effectively stopped at 4.2.7b, and a short e-mail exchange with Tim Mann made it quite clear to me that it is exceedingly unlikely it will ever pick up again.
My new 4.3.15 is is an indirect descendant of 4.2.7b: it is based on the final version of Alessandro Scotti's Winboard_x, which again contained all of xboard 4.2.7b (but no xboard version). At no point along the line development proceeded in two directions, it is an unbranched ancestry.
I have no idea what action I would have to take to get into the official repositories; I am new to the Linux world, and until 2 month ago I had never used Linux. Anyway, what I am going to release now probably does not yet have the required quality for being official: I have, for instance, not updated any xboard documentation yet. (Only the WinBoard help file was updated, and only upto the previous version 4.3.14.) Xboard still lags behind compared to WinBoard: not all WinBoard features are available yet in xboard, not even through command-line options.
So far I have mostly copied the menu structure of Winboard_x to port it to xboard, without thinking much about it. But now that I look at it, it seems a bit illogical. Before I release the final version, it might pay to still change it a little.
For one, the name "Options -> UCI..." does no longer seem very applicable to that particular popup, as the hash size parameter is also used for WinBoard engines. It seems a suitable place for setting engine parameters in general. So I guess I should rename it to "Options -> Engine Settings...",. Then I should also include the number of CPU's for SMP engines in that popup. And the ponder on/off control logically belongs in this group as well, and should be removed from the other menus (where it already occurs in duplicate!). So I guess I will add another line at the top of this display, and rename the popup to "Engine Settings".
The current "Options -> Engine..." menu would be more aptly renamed to "Options -> Adjudications...". The controls determining if the score of either engine is absolute (i.e. w.r.t. white) or normal (i.e. w.r.t. its own color) should go into this popup as well, as they affect the score-based adjudication. The ponder control is out of place there, and can be removed.
I am in doubt about the "Hide Thinking from Human" button: functionally this does what "Show Thinking" used to do (except inversely so). But in the old xboard, "Show Thinking" also controlled the actual sending of the Thinking Output from engine to GUI, as there was no reason to send it if it was not displayed. Now that this data is used also for other purposes (adjudication, score in PGN) it really should always be on (except if you would do nothing of this, perhaps). Switching it off would wreck the functioning of the other options. Perhaps I should remove the explicit control for this option, and make it an implied one. I should be careful, though, as it is conceivable a user would like to not see the scores displayed, not store them in the PGN, not adjudicate, but still save the Thinking Output in the debug file for debugging purposes. So perhaps I should change the logic in the back-end: send the post command to the engine if any one of the options -pgnExtendedInfo, -showThinking, or -adjudicateLossThreshold is set (the latter to a non-zero value). The -showThinking would then become a rarely used option (if the default would stay at the xboard 4.2.7 default of False), that needs not be represented in a menu. (It would only serve to force Thinking Output to a debug file if the other options were off, and there is no menu to set a debug file either.) The current item "Show Thinking" in the general Options menu could then be replaced by the option "Hide Thinking", which would affect -hideThinkingFromHuman rather than -showThinking. The Show Thinking (= Send Thinking to xboard)button in the popup could then disappear (as it no longer has any relevance for adjudication, just like the Ponder and Hide Thinking from Human).
I guess I will change the new xboard menus accordingly, and in a later version also change WinBoard to this philosophy.