Changes to multiwindow mode and always-on-top (ping Takuma)
Harold L Hunt II
huntharo@msu.edu
Sun Mar 21 05:18:00 GMT 2004
Earle,
Earle F. Philhower III wrote:
> Hello Takuma,
>
> At 07:56 PM 3/20/2004 +0900, Takuma Murakami wrote:
>
>> You give me a good insight to improve Z order handling.
>> I believe we can approach to better solutions. The attached
>> is my latest code which should fix all problems on restacking
>> and a-o-t windows without using fAlwaysOnTop flag. Could you
>> try and review this?
>
>
> It works great from my testing today! On Monday I'll bring it to
> work for a harder test, I normally have 10 or so emacs and xterms
> running with an occasional EDA tool. (It seems that cygwin's
> emacs-x11 has some problems, not due to these changes, so I can't
> get too many started locally to test...)
I haven't gotten a chance to test Takuma's new patch yet, so I was
wondering if you have checked what happens when you open two xterms,
place a Cygwin bash shell inbetween them in the Z order partially
overlapping with both of them, then minimize one xterm and then the
Cygwin bash shell... you'll have to play with the ordering a little bit,
but see if you can get it to have one xterm showing the contents of the
other xterm where they were previously overlapping. That was a bug that
we have had before and Takuma's changes from last week re-introduced
that bug. I'm not sure if his new patch was an attempt to fix that or
not... but this is something that somebody will need to fix and I'd
appreciate it if you had some insight if this is not already fixed.
>> and removed winReorderWindowsMultiWindow(), which were my
>> fault and forced you to reinvent PreserveWin32Stack(). I think
>> winReorderWindowsMultiWindow() is Kensuke's version of
>> PreserveWin32Stack(). He does the work in X server's internal
>> function (ConfigureWindow) while you do through WM thread
>> (XRaiseWindow).
>
>
> Yes, I'm more familiar with Xlib than internal DDX routines,
> so chose the one I understood. The restacking you've put
> back in the ReorderMW works just as well, or probably better.
>
> One thing I was worried about, and I see that you've taken care
> of, is the fact that since we iterate over the Win32 window stack
> and do a series of ConfigureWindow/etc., those ConfigureWindows()
> might cause yet another Restack call, resulting in up to ((n*(n-1))/2)
> calls. The fRestacking flag you put back in looks like the easiest
> way of handling this...
>
> Thanks, I'll let you know if anything pops up in my testing!
Glad to know that you guys are looking at this in depth. :)
Harold
More information about the Cygwin-xfree
mailing list