https://bugs.winehq.org/show_bug.cgi?id=40828
--- Comment #20 from Zebediah Figura z.figura12@gmail.com --- Created attachment 63197 --> https://bugs.winehq.org/attachment.cgi?id=63197 adjusted version of Olivier's patch
When an application makes itself fullscreen, does that involve anything more than just setting its window to the size of the whole screen? Does it make the window topmost as well? Is there some other magic involved?
IIRC, a normal window always goes behind the taskbar on Windows, and a topmost window always goes over it. That's certainly consistent with the taskbar being topmost itself (and, I guess, unfocusable?)
Why is do_show_systray() called in show_icon()? The conditions under which the taskbar is shown are, I suppose, not immediately clear.
I think the approach of using SWP_NOZORDER makes sense in principle; when the display changes we need to resize the taskbar, but we don't want to reorder it. However, unless I'm mistaken SWP_NOZORDER implies that the ordering parameter to SetWindowPos() is ignored entirely, so I'd do something like the attached instead. Does this make more sense?