Giorgio Medeot wrote:1. when I drag the main windows the first time, after launching WB, the other windows get an offset towards the north direction (about little more than the heigth of a title bar); then they are dragged with the main windows, keeping the same relative position. If I rearrange them, from now on they drag correctly, but if I "save settings", close WB, relaunch it, I can reproduce the same behaviour.
Well, this sounds very pathological. The way it works is that WinBoard, on moving or sizingof the main window asks the OS its new coordinates and dimensions, and then calculates where the windows that were touching it should go to keep touching. I am sure the calculation is OK, because for me it works flawlessly. If on some Windows version it does not work, it can only because the OS islying about the coordinates when it requests them, or not positioning in accordance with the cordinates it was sent (or both). I must say that originally this Winboard_x feature was broken in Win XP, while it worked on Win 2k, and I had to debug that. It turned out that it was counting on getting coordinates of the old position after it had already moved, which in Win 2k amazingly worked, because there apparently was some lag, but not in XP or Vista. I changed it to use the stored coordiantes, which were also available, and then it worked both on 2k and XP. But some Windows versions apparently do behave fishy in this area.
2. If I attach a window on another window other than the main one, it doesn't get sticked (e.g. If I put Engine Output on the right of Main, and then Move History on the right of Engine Output).
This is as designed. Only windows that share an edge with the main window will be dragged along. Note, however that they can "virtually touch", when two edges are on the same line, butdisplaced along it so much that there is no physical contact.
3. If I attach a window _below_ Main, it gets sticked and drags with it, but if I "save settings", close WB, relaunch it, and try to drag Main, the window attached below doesn't drag.
This sounds again very much like the OS is abusing the coordinates. It can be checked in the winboard.ini if the stored settings contain touching windows. All window coordinates (upper-left corners) are stored relative to the main window, and the size of the main window is stored as well. On restarting that size need not be the same (you could have asked for another /boardSize, or play a /variant with another board format), but the coordinates of windows below or to the right of the main window are adapted to such a size change, so you can safely stick on all sides. So in the settings file you can see if the y coordinates of the window stuck on below is indeed equal to the given height of the main window. If not, it must have been stored wrong (becausetheOS has been lying aboutthem), while if they are, the OS is apparently not obeying the window-positioning instructions.
Note that (1) and (3) happens even if I detach and reattach the windows as soon as I start WB; I need to drag Main window at least once, and then detaching-reattaching cures things.
I hope this can help.