Re: Magnifier DBus interface vs GSettings
- From: Joseph Scheuhammer <clown alum mit edu>
- To: Patrick Welche <prlw1 cam ac uk>, Gnome Accessibility List <gnome-accessibility-list gnome org>
- Subject: Re: Magnifier DBus interface vs GSettings
- Date: Thu, 05 Apr 2012 09:58:55 -0400
Hi Patrick,
You wrote:
I would have argued the other
way and gone for: magnifier needs the accessibility bus, so control
via dbus rather than require some desktop schema to be installed.
You make a good point. A similar point was madewhen we discussed the
issue at a recent (Thu Mar 29) GNOME a11y meeting. Namely: what if the
platform supports DBus, but does not support GSettings? If the
magnifier DBus interface does not support enabling, then there is no way
to enable it on that platform. <axe-grinding>The correct solution is for
that platform to provide such access via user preferences.</axe-grinding>.
Considering this further, I've noticed a number of things:
1. GNOME Shell operates within a GSettings environment. Hence, so does
GS-mag, and is bound to the GSettings system.
2. The magnifier DBus *interface* is only a contract. In particular, it
does not specify how to *implement* that contract.
3. Viewed from the outside, an *implementation* of the magnifier DBus
interface is a black-box. Clients of the service don't know anything
about the internals of the implementation.
4. Viewed from the inside, GS-mag's particular implementation of the
DBus setActive() method is but a wrapper around the magnifier's own
setActive() method.
5. Viewed even further inside -- from within GNOME Shell itself -- the
magnifier's setActive() method is available to any other GNOME Shell object.
With respect to 5, set aside the DBus issue for the moment. The
implication is that some GNOME Shell object could enable/disable the
magnifier directly, and its actual state can be out of sync with the
user preferences (as given by GSettings). That's a bug and needs fixing.
Back to DBus: if the above fix is made, then the bugzilla " D-Bus:
org.gnome.Magnifier.setActive incomplete."
(https://bugzilla.gnome.org/show_bug.cgi?id=669192) is likewise fixed:
1. the DBus interface need not change.
2. GS-mag's DBus implementation need not change.
3. Magnifiers that run on platforms that don't support GSettings (or
other preferences/settings architecture) can be accessed through DBus.
Seems like a win for everyone.
--
;;;;joseph.
'A: After all, it isn't rocket science.'
'K: Right. It's merely computer science.'
- J. D. Klaun -
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]