Minimized always-on-top windows never disappear from in front of other X windows in all the tests I've tried.
I can't reproduce this behaviour with release-59. I made two windows overlapped, set one of them as a-o-t, then minimized the a-o-t window. The second window was shown correctly. Could you show me how to reproduce it?
4.3.0-59 would not have this problem because it does not yet contain your recent changes to multi-window mode. This problem would only show up in the CVS builds.
And when a non-aot window is created on top of an a-o-t one, it is popped to the top of the X window stack, even if there is an a-o-t window in Win32 space above it. It's as if a chunk of the window below the aot window is showing through, and a real pain. (It's caused by XRaiseWindow()ing a window that's not really at the top of the Win32 stack...)
I can't reproduce it with release-59. Maybe I am doing the tests in a wrong way... Could you point it out?
Yup, try with CVS :)
The old behavior was to copy the current a-o-t state to a private flag in pWinPriv on a minimize, remove the a-o-t bit from the window, and on a restore set the a-o-t flag back on the Win32 window if so cached.
If I put this flag and behavior back I can get things working 100% AFAICT: a-o-t windows minimized from the taskbar, the system menu, or the button disappear.
Takuma, if you're reading the list, can you give some insight as to why you took out the old private flag? (I agree it should be cached in the wndproc on the WM_SIZE message, not the SC_* menu handler where it was, that's where I've got it placed presently, and it now works for all different methods of minimizing a window I can think of...)
In the change I fixed window manipulation (remove, resize, minimize and maximize). My principle is to have Windows do as much work as possible; I let Windows all window operations and propagate the resulting position and size to underlying X windows through winAdjustXWindow().
Within the process I removed some cache variables including fAlwaysOnTop since they seemed unnecessary. I did basic tests so minimization of a-o-t windows should be work fine. I want to go on without fAlwaysOnTop flag if we can. However popups on a-o-t windows are surely broken, it is my fault.
I built and ran on the latest CVS. It works fine with popups on a-o-t windows (it yields some BadWindow errors but they cause no actual faults.) It could be the best solution. What we should verify now are: 1) Is minimization of a-o-t windows broken on release-59? 2) Does the CVS build fix restacking problem?
I appreciate anyone who gives feedbacks on item 1. Item 2 is about the problem on which Harold and I are working so Harold can verify it.
I think that #2 was not touched by Earle. I'll have to check though.
Harold
