|
From: | H.G. Muller |
Subject: | Re: [XBoard-devel] 4.9.0 readiness |
Date: | Mon, 11 Apr 2016 21:34:55 +0200 |
User-agent: | Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 |
OK, I now pushed a version with a special debug print statement to
gather info about the cause of this problem. When the size of the outer window changes, XBoard should get a "configure-event", which eventually should cause DragProc() to be called. (There is a timer delay involved here to prevent XBoard from drowning in a barage of configure-events while the dragging is going on, and only call CoDrag() once after the sizing or dragging has stopped.) I put a print statement in DragProc(), to print the new window parameters that it requests from the system after the drag, and the parameters it had before. I would like to see what this prints in combination with i3wm, and also when it prints it. It seems that i3wm does size the outer window other than XBoard requested it during the creation of this window, and normally this should cause a configure-event. But CoDrag() should redraw the board at the new size, and as this obviously is not done, it seems that it is not called. Which suggests that the configure-event does not occur. But I want to check that for sure, to see if something is already printed when the wrong board size is still displayed before you do the minor resizing that corrects it. I also wonder what would happen if you press F2 (for Flip View) before you resize. Does it then flip the small board, or does it immediately draw a flipped large one? If setting the outer window to a different size as XBoard requests is not considered a resize by i3wm, so that it doesn't think it necessary to send XBoard the configure-event signal, then we must devise some other method for XBoard to determine that it did not get what it asked for. Perhaps we should always fake a configure-event when the main window first pops up, by putting at the end of GenericPopUp(): if(dlgNr == BoardWindow) DelayedDrag(); This would execute DragProc() after a delay of 200 msec, which would check the actual size of the window, and do nothing if it already has the right size. Op 4/11/2016 om 6:59 PM schreef Adrian
Petrescu:
|
[Prev in Thread] | Current Thread | [Next in Thread] |