[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: maintaining key window on unhide
From: |
Fred Kiefer |
Subject: |
Re: maintaining key window on unhide |
Date: |
Sat, 21 Oct 2006 20:12:06 +0200 |
User-agent: |
Thunderbird 1.5.0.7 (X11/20060911) |
Hi Matt,
this patch now looks great to me. Go ahead and submit it. One small
thing should be added to not break the usage of the MS Windows backend,
there the windowlist method has been subclassed with an empty method.
This either should be removed or changed to call the super class
implementation, with a FIXME added to this code.
Thank you
Fred
Matt Rice schrieb:
> --- Fred Kiefer <fredkiefer@gmx.de> wrote:
>
>> Hi Matt,
>>
>> - There are already functions in NSWindow.m, e.g.
>> NSWindowList(), which
>> are supposed to return the windows in front to back
>> order. Perhaps it
>> would be possible to redirect these function tot he
>> display server and
>> implement the rest on top of them.
>
> ok I implemented NSWindowCount and NSWindowList to do
> this, after googling this function and looking at some
> mailing list posts, theres a number of interesting
> things about it..
>
> it should return all window not just ones specific to
> the application,
>
> it returns window server specific window numbers for
> which there is no public function to convert to actual
> window numbers (where in some cases i believe no
> conversion is neccesary).
>
> which might be useful if we ever want to get
> activateIgnoringOtherApps:NO to work without obscuring
> the key window... but that is a whole other thing
> involving external window numbers and requiring lots
> of backend changes.
>
>
>> - There is also a method in GSDisplayServer
>> windowlist, which could be
>> defined to return the window ordered and implemented
>> the way you want
>> it. If not, lets remove this method.
>>
>
> I implemented windowsordered as this, except instead
> of returning NSWindow objects, it returns an array of
> window numbers which i think was more in line with the
> original intent..
>
>
>> - You use the new GSDisplayServer method in various
>> methods on
>> NSApplication. I would prefer that we just use it,
>> or which ever other
>> solution you choose, in orderedWindows and use the
>> later method
>> everywhere else. Making this method the official
>> interface for ordered
>> windows.
>
> I implemented orderedWindows to not accept panels and
> documented that.
> and made a fuction GSOrderedWindows();
> which just converts the window numbers array into an
> array of NSWindows.
>
> when we get -gui's GSPrivate.h figured out this can be
> turned into a hidden private function.
>
>> - Your implementation of GSDIsplayServer
>> windowsordered returned the
>> windows ordered the other way round as
>> orderedWindows has to return
>> them. Why not resolve this at the level below and
>> just pass the values on?
>
> I swapped the order
>
>> - It should also be possible to implement
>> orderedDocuments on top of
>> orderedWindows.
>
> i'll leave this for now to someone else or another
> time.
>
>> - Why are deactivate and unhide processed in
>> stacking order?
>
> got into why this happens yesterday, but i switched
> these to reverse order and the others to use natural
> order.
>