[orca-list] Changing screensaver behavior



I got annoyed at how Orca behaves when screensavers appear. I'm trying
to write a patch, but I'm getting stuck on implementation details and am
wondering if what I want is even possible to achieve with Orca.

The behavior I'm aiming for should have the following characteristics:

1. Generic. It shouldn't be a gnome-screensaver script, but a module
which can then be mapped to any number of screensaver providers.

2. If I'm continuous reading a book when my screensaver appears, speech
should not stop. If I don't need the screen to function, and if having
it blank would conserve power, then I shouldn't be required to have it
active to continuous read. And before anyone notes that I can turn it
off via software, I'm aware of that but this isn't what I'm aiming for.

3. Screensaver activation should be announced, since it will change my
workflow in a minor way. Since my next keystroke will kill the
screensaver and not perform whatever action I expect, I should be
alerted that it is on, and there should be a message more intuitive than
"Window."

So far I have a screensaver module that loads when gnome-screensaver
activates. I've added a custom speech generator that returns
["Screensaver on"] when asked to speak  the screensaver's window, which
is a much less cryptic message than "Window." :) It's a bit hacky, but
since the screensaver will only have a single window that can't
otherwise be interacted with, it made more sense to override the
utterances returned for gnome-screensaver windows than it did to trap
window creation, which would still speak cryptic messages for anyone not
knowing that "window" means the screensaver has appeared.

Before I go too much further along, though, I'm wondering if achieving
continuous read during screensaver activation is even a possibility? In
looking at the event stream, it appears that gnome-screensaver jostles
focus briefly. That is, for a brief period, the gnome-screensaver window
is focused before returning to the original window, which again becomes
active even while the screensaver appears. I don't know for sure, but
I'm guessing this would mess up continuous read? Does it require focus
in the window it is reading?

More questions to come, if I haven't hit a dead end that is. :/





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