This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Changes to multiwindow mode and always-on-top (ping Takuma)


Takuma Murakami wrote:
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]