After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 601619 - Speech, braille, and magnification should be general desktop preferences
Speech, braille, and magnification should be general desktop preferences
Status: RESOLVED OBSOLETE
Product: orca
Classification: Applications
Component: general
unspecified
Other All
: Normal enhancement
: ---
Assigned To: Orca Maintainers
Orca Maintainers
3.0?
Depends on:
Blocks:
 
 
Reported: 2009-11-11 22:57 UTC by Willie Walker
Modified: 2018-02-08 13:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Initial patch to goof with (5.52 KB, patch)
2009-11-11 23:06 UTC, Willie Walker
reviewed Details | Review

Description Willie Walker 2009-11-11 22:57:33 UTC
Right now, Orca is in control of whether speech, braille, and magnification should be used.  It stores the preferences in its own configuration *.py file.  This causes issues with how things can be automatically started on the desktop since it can require several different *.desktop files to launch the various combinations of speech, braille, and magnification preferences.

An example use case for this is how one might interact with the new accessibility preferences applet that allows you to say "I want magnification" and "I want a screen reader" vs. "I want Orca".

What I think we'd like is that a *.desktop file would be created to respond to changes in the "I want {feature}" settings in the accessibility preferences.  The ones where feature={speech,braille,magnification} would all just launch Orca.  Orca would then read the gconf keys for guidance about what to use instead of needing to refer to the command line.  In addition, since Orca enforces itself to launch as a singleton instance, we would avoid the problem of having multiple Orca's running.
Comment 1 Willie Walker 2009-11-11 23:06:30 UTC
Created attachment 147519 [details] [review]
Initial patch to goof with

This is an initial patch to goof with.  It creates three new gconf keys (which I haven't created schemas for yet):

/desktop/gnome/interface/speech
/desktop/gnome/interface/magnification
/desktop/gnome/interface/braille

These are all booleans that reflect whether the user wants a feature or not.  Orca responds to changes in the values of these keys and dynamically starts/stops support for the given features.

Among other things, two big clunkers are outstanding:

1) When one changes prefs using the Orca preferences GUI, these gconf settings are not written (and the Orca prefs GUI doesn't immediately react to changes in the settings)

2) Orca still holds the old-style preferences in its own user-settings.py file.  Upon startup, the patch will give preference to True values coming from either the old-style preferences or the gconf key.

But, this is something play with and you can interactively enable/disable the features using gconf-editor while orca is running.

Next on the list is to create some autostart *.desktop files and all the sundry of other a11y keys into account that let you eventually say "yeah, launch orca for this", and try to hook it up with the new a11y setup applet.
Comment 2 Joanmarie Diggs (IRC: joanie) 2010-04-03 20:23:30 UTC
Bulk reassigning Will's bugs to the default assignee. (Sorry for the spam!)
Comment 3 Joanmarie Diggs (IRC: joanie) 2010-06-12 21:39:04 UTC
Ray, could you please fill me in on how this pertains to the new Universal Access Preferences UI [1]? Thanks!

(Ale: Another piece of the settings puzzle.)

[1] http://live.gnome.org/Accessibility/GNOME3#New_Universal_Access_Preferences_UI
Comment 4 Ray Strode [halfline] 2010-06-14 13:53:21 UTC
Sure. So the basic idea is something like this...

- Orca provides several distinct features, that are useful indepedently and sometimes in conjunction. The key point, though, is they are conceptually independent.
- Given they are conceptually independent they should be represented as indepedently toggleable switches in the UI.
- The features Orca provide fit alongside with other features that provide extended access.  Since they a conceptually in the same "bucket", they should be provided in the same integrated UI.  A sort of standardized, well known, one-stop shop that someone who needs more access can go when they need it.
- Given Orca does the heavy lifting for several features at once, and those features may be indepedently toggled, we have to make sure toggling one doesn't impede the operation of another.  E.g. Starting braille shouldn't turn off magnifier.
- gnome-session provides a way for programs to be started when a gconf key is toggled.  It's done by putting special AutostartCondition key in the autostart desktop file.
- By having a separate gconf key for each piece of functionality that orca provides, gnome-session can automatically start orca when needed, and orca can listen to those keys for changes to know when to turn on or turn off specific features.
- When orca isn't serving anymore features (all the gconf keys are turned off) it could quit (to be restarted by gnome-session automatically again when needed)
Comment 5 Joanmarie Diggs (IRC: joanie) 2010-07-05 02:45:10 UTC
(3.0 Planning Spam-o-rama. Sorry!)