Hi,
I spent some time trying to hunt down the window management problems I reported a while ago (dialogs displayed by the game Pajama Sam appearing behind the main window, and sometimes not getting keyboard focus).
I found that the game's main window simply wasn't managed. The game opens a window that covers the entire screen, and doesn't have a caption. is_window_managed(), in dlls/x11drv/window.c therefore returns FALSE for that window, and (I'm guessing here) since Wine is running in managed mode, it manages that window poorly. Switching desktops in KDE doesn't remove the window from the screen, it's impossible to get any window to display on top of the game window, and in general, several functions in x11drv/winpos.c behave badly when Wine has a mix of managed and unmanaged windows.
Changing is_window_managed()'s default return value to TRUE makes the game behave much better, but not perfectly. The KDE panel stays on top of the game window - it can be hidden away, but Windows handles this differently, letting the game window obscure the task bar. I'm inclined to call this a KDE problem, rather than a Wine problem.
Also, I don't know whether the tests in is_window_managed() cover all the cases in which a window should stay unmanaged. Right now, is_window_managed() tests for child windows and tool windows, and returns FALSE for those windows. Are there any other types of windows that shouldn't be managed?
-Ori Pessach
_________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com