I have discovered what I believe to be a bug in the window manager code part of the cygwin/X server. It is an interaction between the point-to-focus setting in Windows (a.k.a. "Activation follows mouse" in TweakUI) and raising windows.
Scenario: With the "Activation follows mouse (X-Mouse)" setting of TweakUI set, arrange at least two (X) windows so that a portion of them overlap. Call the window on top window A and the one below window B. With the focus on window A, move the pointer to window B (via any path). Window B will now (correctly) have focus. Click on the title bar, edge of frame, or within the contents of window B. It will now partially raise. That is, the frame of window B will now be drawn correctly over window A, but the stacking of the content of the windows is still in the original (A over B) order. I do not think it is just s refresh issue because updates to the content area of window B are shown as if it were on top. The situation will correct itself (the windows in X will have the same stacking as the MS window frames around them) when either: 1) focus is given to some other X window other than window B (including a window which has no overlap with either window A or window B) or 2) focus is given to a non-X window and then to any X window (including window B). If focus is taken from window B and given to no other window (say by moving the pointer over the desktop and not another window), and then focus is given back to window B, the focus is correctly assigned but the stacking order is not corrected. System specifications: Windows 2000 Professional cygwin 1.5.9-1 XFree86-xserv 4.3.0-64 XWin invocation from modified startxwin.bat: start XWin -multiwindow -clipboard Postscript: As I have been writing up this bug report and testing all the cases, I noticed there was a new version of XFree86-xserv available. I upgraded to XFree86-xserv 4.3.0-65 (I saw -66 announced, but it wasn't on the mirror I use and I wasn't sure which server was the canonical one). The problem is still there with one minor modification. Once window B's frame is over window A's (but it's content is still below window A), the stacking order is corrected through either previous method _except_ if the focus is given back to window A. Perhaps a chart will clarify when the stacking order is corrected and when it is not: focus B -> no focus -> focus B => not corrected focus B -> no focus -> focus A => not corrected focus B -> no focus -> focus C => corrected focus B -> focus MS -> focus A => not corrected focus B -> focus MS -> focus B or C (any X window except A) => corrected focus B -> focus A => not corrected focus B -> focus A -> focus B or C (any X window except A) => corrected Please let me know if there is any other information that you need to track this down. Thank you. Brian Diggs