Piotr Caban piotr@codeweavers.com writes:
I didn't think about it well. This behavior is window manager dependent. The test fails in similar way here if run in virtual desktop.
On my computer when a layered window is created it gets focus, later while flushing events it looses focus because of WM_TAKE_FOCUS event. After that when application calls UpdateLayeredWindow function window manager generates another event that gives focus back to layered window (I'm using KDE).
Yes, the window manager is free to do what it wants with the focus of top-level windows, that's not something we control. If the issue is specific to layered windows, it's probably because we have to destroy and recreate the window to switch visuals, which may cause the window manager to reassign focus.