Experimental Magnification Preferences Dialog Using GSettings

I have been experimenting with a version of the Magnifier Preferences Dialog where the settings back end is handled by GSettings. A tar ball of the code is available from this page -- link is below.

The user interface and intended functionality is the same as that for the Magnifier Preferences Dialog, but using GSettings instead of GConf.

Some notes and issues:

The Python bindings to Gio (GSettings) are not ready. This experimental version of the preferences dialog uses JavaScript instead of Python.

The main problems, however, are (1) accessing the settings templates, and (2) changing the user's actual preferences.

Regarding the templates: GConf gracefully degrades in the sense that if the templates cannot be found, the code can continue, and can fetch, modify, and store the settings without templates. GSettings is more strict -- if it can't find the templates, it stops (or, I'm doing something wrong).

To deal with the templates, for the present, the launcher script (launchPrefs.sh) assumes that GnomeShell is installed, and that the templates are stored in the standard place, namely $HOME/gnome-shell/install/share/glib-2.0/schemas/. It exports that path as a environment variable before starting JavaScript.

However, even though it finds the templates, it's not clear (to me) where the actual settings are stored, nor if they are being accessed or modified. It's somewhere in the user's home directory, but I'm not sure where.

In summary, the issues are:

  • the location of the GSettings templates.
  • the location of the users' preferences.

Magnifier preferences dialog tar ball: MagnifierPrefsJS.tar.gz.

The tarball contains:

  • launchPrefs.sh: a script to launch the app.

    • note: this assumes that the JavaScript interpreter, gjs is in the GnomeShell install directory -- $HOME/gnome-shell/install/bin/gjs

  • magnifierPrefs.js: the code itself.

  • MagnifierPrefsUI.glade.

Projects/GnomeShell/Magnification/GSettings (last edited 2013-11-22 17:00:20 by WilliamJonMcCann)