Re: [g-a-devel] Focus - AT vs. mouse/keyboard manipulation
- From: Bill Haneman <Bill Haneman Sun COM>
- To: Elijah Newren <newren gmail com>
- Cc: gnome-accessibility-devel gnome org, metacity-devel-list gnome org
- Subject: Re: [g-a-devel] Focus - AT vs. mouse/keyboard manipulation
- Date: Thu, 17 Aug 2006 18:55:51 +0100
"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]