window focus, raise, and stacking order

Takuma Murakami takuma@dgp.ne.jp
Sun Apr 4 04:35:00 GMT 2004


Earle,

Thank you for inspecting the bug.  I know my recent changes for
window manipulation is rather heuristic; they just happen to fix
bugs but have no "right" reason, so they often cause other bugs
on other places.  I must learn the whole event cycle of windows
in both Windows and X with a book or something.

As to the bug I have not considered the situation that the focus
window and the foreground window are different, so the bug is
supposed to happen.  I remember that I inserted the code
          /* Tell our Window Manager thread to activate the window */
          wmMsg.msg = WM_WM_ACTIVATE;
          if (fWMMsgInitialized)
            if (!pWin || !pWin->overrideRedirect) /* for OOo menus */
              winSendMessageToWM (s_pScreenPriv->pWMInfo, &wmMsg);
into winmultiwindowwndproc.c:749 because of a focus problem in
Emacs.  However it should be moved to somewhere else if the
following table is right.

	Focus		Foreground
Windows	WM_SETFOCUS	WM_ACTIVATE
X	XSetInputFocus	XRaiseWindow

Unfortunately I don't have X-Mouse so I cannot test for now.
I will try to use it when I have some spare time, but I greatly
appreciate anyone who gives comments or patches on it.

Takuma Murakami



More information about the Cygwin-xfree mailing list