Page 1 of 1

tellall command ignored (no message box pops up)

PostPosted: 06 Jul 2013, 04:09
by Jonas Thiem
The tellall command seems to be ignored in local games (at least if used right at the beginning of a game). The specification says it should behave exactly like tellopponent if I'm reading it correctly - nevertheless, no message box pops up. tellopponent works fine!

Might I also suggest to add multiline message boxes? The sometimes lengthy messages created by my engine often cause the message box to exceed screen width. It would be even more awesome if the chat window actually worked with local engines, since I suppose it's less obtrusive (the message boxes really get in the way of playing, so they're not really suited for talkative engines that want to comment the game a bit).

I'm using the GTK+ git code on Linux btw. (When will Xaw die and GTK+ become the default? The GTK+ version is awesome!)

Re: tellall command ignored (no message box pops up)

PostPosted: 06 Jul 2013, 08:28
by H.G.Muller
Oh, I would have to check if we have some inconsistent behavior here, and whether the docs are at fault or the implementation.

It used to be that none of the tellxxx commands worked in local modes; they were only WB protocol wrappers for the various ICS communication commands (say, kibitz, whisper).

It seems to me that the local equivalent to 'only the opponent' is a sort of popup box (or chatbox), while the equivalent of 'everyone that watches' is a comment in the PGN file. If the user has the Comment window open, he should be able to see the comment on the latest move. That should be as good as the chat window.

For personal messages to the human opponent the Engine Output window might seem a more logical place. (The option 'Hide thinking from human' could also be made to suppress the PV display there.) That would have no problem to display multi-line messages, and neither would the Comment window.

I vaguely recall there was some problem that made it not entirely trivial to make multi-line popups. (Perhaps that in WinBoard the size of the box was fixed, so that the later lines would simply be out of view.)

The GTK version indeed seems to perform quite satisfactory. One problem is that it has no popup menus yet (piece menu, drop menu). It is true these menus are really deprecated, but some people still prefer to use them. I am currently too busy to work on WinBoard or XBoard, however, because of the upcoming computer Olympiad. The only version I am currently using is the Chu-Shogi-enabled version of the WinBoard Alien Edition, where I do necessary bugfixes in features I need. All my other time goes into improving the engines.

After the Olympiad the most logical way to proceed with the GTK version is to move an output field to the ICS Input Box (so it starts to resemble the Chat window), and let the ICS output appear there in stead of in the x-term used to launch XBoard. Then XBoard could be aware of text you click there, and use it in a context menu similar to what WinBoard has. This would provide an incentive to finally implement the popup menus as well. (The ICS Text Menu window would then be abandoned.) Problem that still would have to be solved is the colorization of the text (which is not possible in Xaw, but should be in GTK).

I probably want to add some general features to XBoard / WinBoard first, porting some patches from the Alien Edition to the standard editition. (In particular implement the highlight protocol, so that engines can mark board squares in various colors when the user picks up a piece, and put in some limited multi-move capability based on that highlighting, to allow pieces like the Chu-Shogi Lion to participate in variants.)

Re: tellall command ignored (no message box pops up)

PostPosted: 06 Jul 2013, 17:37
by Jonas Thiem
Oops, it seems both engines use tellall. But just one of the message boxes pops up. Maybe winboard doesn't like two tellall from both engines (in a two machines game) at pretty much the same time?

Re: tellall command ignored (no message box pops up)

PostPosted: 06 Jul 2013, 18:54
by H.G.Muller
I cannot exclude that it just changes the text into that for the new one when it is already up. This would be an argument for diverting the text to the Engine Output window, where each engine has its own pane...

Re: tellall command ignored (no message box pops up)

PostPosted: 07 Jul 2013, 02:33
by Jonas Thiem
Would it be among the thinking output then? I suppose the natural place would be a Chat window where users can also respond, similar to a human player. But engine output still sounds better than the current one-endless-line dialogs :)

Whereever it ends up, it would be nice if that window popped up by itself if a message arrives so people get noticed of it. (rather than users being required to open that window and spot the message by themselves) In case of the engine output window, it should also stay readable long enough before thinking output wipes it away.

Re: tellall command ignored (no message box pops up)

PostPosted: 07 Jul 2013, 10:19
by H.G.Muller
Okay, that would definitely be an argument against putting it in the Engine Output: it would be erased quite quickly there.

If tellall is expected to incorporate the message in the PGN as a comment, then the Comment window would be the logical choice. There already exists an option -autoDisplayComment true|false, which causes the window to pop up on moves with a comment.

It would be more tricky what to do for tellopponent. For consistency in behavior it should preferably also be displayed in the Comment window, but it should not be automatically added to the PGN. But I guess this can be done by putting WinBoard in the same state as when the user edits a comment. What is typed in the Comment window is not automatically added to the game, unless he presses OK or Save.

For messages to which the engine expects a reply, there is the askuser command, which has its own popup. (Not sure if that is multi-line, but I agree with you that all these popups really should be multi-line.)

I will do something about this after the Olympiad.

Re: tellall command ignored (no message box pops up)

PostPosted: 08 Jul 2013, 02:48
by Jonas Thiem
My plan was to add comments mainly for amusement (think of old Fritz interfaces which commented on moves). So in that case a lot of people would miss it if it just went in as PGN comment - and people couldn't respond there either. However, PGN comment seems most suitable for "serious" engine comments.

So I'm not sure what to suggest. For most people/engines, PGN comments seems nice. For my case, I'd still hope to end up in a chat window too (wouldn't that happen for human ICS tellall/tellopponent equivalents? why does a local engine tellall/tellopponent need to be handled differently?).