One point for discussiom (which I also posted on CCC):
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.
Feedback welcome!