Ok, I've been digging this stuff for more then a week now. And I still don't have even a partial understanding of what's going on in there. If someone please explain me these: 1. Where wine stops and passing over to X/window manager? I'm most interested in handling focus changes, minimize/maximize/restore. 2. What are we doing about properly implementing minimize/maximize/restore.
Here is what I uncovered so far about SetWindowPos: 1. Wine does not send WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED. 2. Wine does not redraw owner/owned windows (or not in a proper order) when z-order changes.
It looks like these heavily depend on focus changes and owner/owned windows relations. Some times native redraws both owner and owned windows. Sometimes none at all. Same goes for messages.
I'm kind of stuck here. To go any further I need to know what part should we delegate to WM and what part do ourselves.
On Mon, 2005-05-09 at 15:25 -0600, Vitaliy Margolen wrote:
Ok, I've been digging this stuff for more then a week now. And I still don't have even a partial understanding of what's going on in there.
:-)
Is there some kind of documentation somewhere as to how everything fits together - or even descriptive text as to the purpose of each source file? This struck me as a problem coming at this cold the other day - the typical one-liners at the top of each source file weren't always enough to know what the collection of functions within the file actually did.
If someone please explain me these:
- Where wine stops and passing over to X/window manager? I'm most interested in
handling focus changes, minimize/maximize/restore. 2. What are we doing about properly implementing minimize/maximize/restore.
Here is what I uncovered so far about SetWindowPos:
- Wine does not send WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED.
- Wine does not redraw owner/owned windows (or not in a proper order) when z-order changes.
It looks like these heavily depend on focus changes and owner/owned windows relations. Some times native redraws both owner and owned windows. Sometimes none at all. Same goes for messages.
That certainly fits the behaviour I'm seeing, with erratic redraw problems in every version of wine past 20041201.
(has anyone tried mspaint to see if it works? I'd imagine it's another app that does interesting things with the drawing canvas - in fact any app that handles its own drawing routines is likely to show up problems)
cheers
Jules