winex11.drv/window.c:is_window_managed()
Dawser Stevens
dawser at gmx.com
Tue Jan 29 17:13:14 CST 2019
Hi everybody,
This is my first post to the list. I have been trying for a few days to
make Office 2016 run using the trunk version of Wine. I got it to mostly
work, Excel and Word very well, and OneNote almost as well, even
supporting inking.
However, the main problem to make it usable was the right-click dual
tool window popup. Using the trunk version of wine, right click only
shows the first toolwindow of the two (the one that doesn't include
Copy/Paste etc.)
I think I debugged the problem to
`winex11.drv/window.c:is_window_managed()`
There used to be old code that made WS_EX_TOOLWINDOW extended attribute
windows unmanaged. Alexandre added some additional logic and removed
that line...in 2008!
https://www.winehq.org/pipermail/wine-cvs/2008-April/042994.html
The new interface from Microsoft may have changed the logic in the last
ten years. These windows now have a
`style = WS_POPUP | WS_CLIPCHILDREN | WS_CLIPSIBLINGS`
and a extended style including `WS_EX_TOOLWINDOW`
so they are layered popups and toolwindows.
If I add:
`if (ex_style & WS_EX_TOOLWINDOW) return FALSE;`
right after the managed mode check at the beginning of the function,
making them unmanaged, both tool windows appear, though the mouse clicks
and window creation are not perfectly synced (the right mouse click
works randomly).
I am asking for advice. I really don't know the code very well yet, and
that particular logic of what windows to manage seems very sensitive. I
think it would be a big win to make Office 2016 usable.
Thank you.
More information about the wine-devel
mailing list