[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC]: Window focus changes
From: |
Adam Fedor |
Subject: |
Re: [RFC]: Window focus changes |
Date: |
30 Oct 2003 22:28:40 -0700 |
On Thu, 2003-10-30 at 12:13, Benhur Stein wrote:
> When I launched GNUMail the first time, the two windows (Folders and
> the main window)
> kept blinking for some time, focus being given back and forth to one
> then to the other
> in rapid succession. Killing and relaunching it, I didn't have the
> problem anymore.
> When I opened this window to reply, it happened again, between the
> new window and
> the Filders window that I let open.
>
Yes I see that also. It's very odd - it appears the events passed from
the backend to the frontend get out of sync - as if the runloop doesn't
process them fast enough (coupled with the fact that WindowMaker insists
on sending a "Take Focus" message to a window that already has focus.)
I'll have to track down exactly what's going on.
> I still have the problem with new Terminal windows seeming to have
> the alt key blocked,
> until the window title is clicked, though it doesn't seem to be a
> focus problem.
>
Perhaps you can try with --GNU-Debug=NSKeyEvent and we could try to
interpret what is going on with the keysyms.
> I noted a different problem (maybe it existed before, but I've never
> seen), and this one
> happens only with the art backend, not with xlib. I tried it with
> Terminal and with Ink.
> With more than one window of the same program opened, selecting a
> window by
> it's title always work, but selecting one window that was not
> selected by clicking
I can't replicate this, but perhaps I don't understand exactly what you
are doing.
> Probably related: open two Terminal windows and one Ink window.
> Select one of the
> Terminal windows. Select the Ink window. Click inside the other
> Terminal window;
> it gets the focus, but the previously selected Terminal window gets
> the focus before,
> for a small amount of time.
>
When the window initially gets the click, it calls
-activateIgnoringOtherApps:, which orders all the windows front and
makes the key window key again (i.e. the previous key window). Then the
window that got the click makes itself key. I'm not sure how to solve
that one.