Re: [g-a-devel] Focus - AT vs. mouse/keyboard manipulation



"Just interacted" in this case must, I'm afraid, mean "now", i.e. "on
receipt".

My intention below is for the _receiver_ to generate an event which
causes the Xserver to update its internal timestamp.

I know you don't like it, but I think this is really what is required. 
Yes, I know there are possible race conditions, but there are race
conditions in X as well, it's just that you're dealing with a single
event/keyboard-focus stream in the X case.  Whereas we actually DO need
to programmatically move focus from outside.

The problem with the whole focus-stealing-prevention design as it now
stands is that it doesn't account for the very case we need, i.e.
"remote agent activates process via something other than an X event".

Bill

On Thu, 2006-08-17 at 18:33, Elijah Newren wrote:
> On 8/17/06, Bill Haneman <Bill Haneman sun com> wrote:
> > Hmm, thinking sideways a bit...
> 
> Always welcome.  :-)
> 
> > is there some event we could explicitly fire (inside either atk-bridge
> > or libgail -i.e. within the application's process space) which would
> 
> which process?  (The process that actually received the user
> interaction event (which I called the "sender" in my previous email),
> or the one that will be handling the user interaction event by opening
> a window (the "receiver")?)
> 
> > have no real effect on the running app but which would result in the
> > Xserver updating its user-time stamp?
> 
> Since I don't know which process you are referring to, here's some
> guesses at what you're trying to get at:
> 
> Do you mean having the "receiver" ping the Xserver for a timestamp and
> then updating its user-time property accordingly?  That wouldn't work,
> as not only would it break the non-user-interaction cases, it has all
> kinds of nasty race conditions.
> 
> Or are you thinking in terms of having the "sender" somehow update the
> user-time of the process it is trying to send a message to?  Something
> like that may be tenable, though we'd have to be careful about
> how/when it got updated relative to receiving the do_process message.
> 
> > Seems to me that's what we want - to tell the application "hey, the user
> > just interacted with you!".
> 
> No, not at all.  Messages and assumptions like this is exactly what
> caused the huge focus-on-map security & other bug mess in the first
> place.  We want to tell the application "hey, the user interacted with
> you at time <x>" which is a world different than "hey, the user 'just'
> interacted with you".  'just' carries no useful information with it
> and results in all kinds of bugs.
> 
> Hope that helps,
> Elijah




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]