def _getPronunciations(self, profile, app=None): pronunciationSettings = {} if app is not None and app != '': baseGSettings = Settings( schema_id='org.gnome.orca', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) appSpecific = True else: baseGSettings = Settings(schema_id='org.gnome.orca', path='/org/gnome/orca/profile/%s/' % profile) appSpecific = False pronunciations = baseGSettings.get_strv('pronunciations') for pronunciation in pronunciations: if appSpecific == True: pronunciationSetting = Settings( schema_id='org.gnome.orca.pronunciation', path='/org/gnome/orca/profile/%s/app/%s/pronunciation/%s/' % (profile, app, pronunciation)) else: pronunciationSetting = Settings( schema_id='org.gnome.orca.pronunciation', path='/org/gnome/orca/profile/%s/pronunciation/%s/' % (profile, pronunciation)) actualSetting = pronunciationSetting.get_string('actual') replacementSetting = pronunciationSetting.get_string('replacement') pronunciationSettings[pronunciation] = [ actualSetting, replacementSetting ] return pronunciationSettings
def _saveVoiceSettings(self, voiceSettings, profile, app=None): setEstablished = False if app is not None and app != '': appSpecific = True else: appSpecific = False for voice in ['default', 'uppercase', 'hyperlink', 'system']: if appSpecific == True: voiceGSettings = Settings( schema_id='org.gnome.orca.voice', path='/org/gnome/orca/profile/%s/app/%s/voice/%s/' % (profile, app, voice)) voiceFamilyGSettings = Settings( schema_id='org.gnome.orca.voice.family', path='/org/gnome/orca/profile/%s/app/%s/voice/%s/' % (profile, app, voice)) else: voiceGSettings = Settings( schema_id='org.gnome.orca.voice', path='/org/gnome/orca/profile/%s/voice/%s/' % (profile, voice)) voiceFamilyGSettings = Settings( schema_id='org.gnome.orca.voice.family', path='/org/gnome/orca/profile/%s/voice/%s/' % (profile, voice)) if voiceSettings.__contains__(voice): if voiceSettings[voice].get('established') is None: for setting in ['average-pitch', 'gain', 'rate']: if voiceSettings[voice].get(setting) is not None: if appSpecific == True: voiceGSettings.set_double( setting, voiceSettings[voice].get(setting)) else: if voiceSettings[voice].get( setting) is not self.voiceDefaults[ voice].get(setting): voiceGSettings.set_double( setting, voiceSettings[voice].get(setting)) setEstablished = True if appSpecific == True: voiceGSettings.set_boolean('established', True) elif appSpecific == False and setEstablished == True: voiceGSettings.set_boolean('established', True) if voiceSettings[voice].__contains__('family'): for setting in ['name', 'locale', 'dialect']: voiceFamilyGSettings.set_string( setting, voiceSettings[voice]['family'].get(setting)) voiceFamilyGSettings.set_boolean('family-set', True)
def isA11yEnabled(): """ Checks if accessibility is enabled via DConf. """ from gi.repository.Gio import Settings try: InterfaceSettings = Settings(schema_id=a11yDConfKey) except TypeError: # if we have older glib that has deprecated param name InterfaceSettings = Settings(schema=a11yDConfKey) dconfEnabled = InterfaceSettings.get_boolean('toolkit-accessibility') if os.environ.get('GTK_MODULES', '').find('gail:atk-bridge') == -1: envEnabled = False else: envEnabled = True # pragma: no cover return (dconfEnabled or envEnabled)
def enableA11y(enable=True): """ Enables accessibility via DConf. """ from gi.repository.Gio import Settings InterfaceSettings = Settings(a11yDConfKey) InterfaceSettings.set_boolean('toolkit-accessibility', enable)
def isA11yEnabled(): """ Checks if accessibility is enabled via DConf. """ from gi.repository.Gio import Settings InterfaceSettings = Settings(a11yDConfKey) dconfEnabled = InterfaceSettings.get_boolean('toolkit-accessibility') if os.environ.get('GTK_MODULES', '').find('gail:atk-bridge') == -1: envEnabled = False else: envEnabled = True # pragma: no cover return (dconfEnabled or envEnabled)
def main(): magServiceAvailable = _initMagDbus() if magServiceAvailable: a11yAppSettings = Settings('org.gnome.desktop.a11y.applications') a11yAppSettings.connect('changed', onEnabledChanged) if a11yAppSettings.get_boolean('screen-magnifier-enabled'): startTracking() pyatspi.Registry.start() else: print 'Magnification service not available. Exiting.' return 0
def availableProfiles(self): """ List available profiles. """ profileList = self.baseSettings.get_strv('profiles') profiles = [] for profile in profileList: profileSettings = Settings(schema_id='org.gnome.orca.general', path='/org/gnome/orca/profile/%s/' % profile) profiles.append(profileSettings.get_strv('profile')) return profiles
def _saveGeneralSettings(self, generalSettings, profile, app=None): if app is not None and app != '': generalGSettings = Settings( schema_id='org.gnome.orca.general', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) speechGeneralGSettings = Settings( schema_id='org.gnome.orca.general.speech', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) brailleGeneralGSettings = Settings( schema_id='org.gnome.orca.general.braille', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) appSpecificGSettings = Settings( schema_id='org.gnome.orca.general.app', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) appSpecific = True else: generalGSettings = Settings(schema_id='org.gnome.orca.general', path='/org/gnome/orca/profile/%s/' % profile) speechGeneralGSettings = Settings( schema_id='org.gnome.orca.general.speech', path='/org/gnome/orca/profile/%s/' % profile) brailleGeneralGSettings = Settings( schema_id='org.gnome.orca.general.braille', path='/org/gnome/orca/profile/%s/' % profile) appSpecific = False for setting in orcaToGSettingsMapGeneral.keys(): gSetting = orcaToGSettingsMapGeneral.get(setting) gSettingName = gSetting[0] gSettingType = gSetting[1] self._setGSetting(generalGSettings, gSettingName, gSettingType, generalSettings.get(setting)) for setting in orcaToGSettingsMapGeneralSpeech.keys(): gSetting = orcaToGSettingsMapGeneralSpeech.get(setting) gSettingName = gSetting[0] gSettingType = gSetting[1] self._setGSetting(speechGeneralGSettings, gSettingName, gSettingType, generalSettings.get(setting)) for setting in orcaToGSettingsMapGeneralBraille.keys(): gSetting = orcaToGSettingsMapGeneralBraille.get(setting) gSettingName = gSetting[0] gSettingType = gSetting[1] self._setGSetting(brailleGeneralGSettings, gSettingName, gSettingType, generalSettings.get(setting)) if appSpecific == True: for setting in orcaToGSettingsMapGeneralApp.keys(): gSetting = orcaToGSettingsMapGeneralApp.get(setting) gSettingName = gSetting[0] gSettingType = gSetting[1] self._setGSetting(appSpecificGSettings, gSettingName, gSettingType, generalSettings.get(setting))
def _saveKeybindings(self, keybindings, profile, app=None): if app is not None and app != '': baseGSettings = Settings( schema_id='org.gnome.orca', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) appSpecific = True else: baseGSettings = Settings(schema_id='org.gnome.orca', path='/org/gnome/orca/profile/%s/' % profile) appSpecific = False keybindingList = baseGSettings.get_strv('keybindings') for keybinding in keybindings.keys(): if appSpecific == True: keybindingSettings = Settings( schema_id='org.gnome.orca.keybinding', path='/org/gnome/orca/profile/%s/app/%s/keybinding/%s/' % (profile, app, keybinding)) else: keybindingSettings = Settings( schema_id='org.gnome.orca.keybinding', path='/org/gnome/orca/profile/%s/keybinding/%s/' % (profile, keybinding)) if keybinding not in keybindingList: keybindingList.append(keybinding) keybindingVal = keybindings[keybinding][0] keybindingSettings.set_string('key', keybindingVal[0]) keybindingSettings.set_string('mod-mask', keybindingVal[1]) keybindingSettings.set_string('mod-used', keybindingVal[2]) keybindingSettings.set_string('click-count', keybindingVal[3]) # Now we remove any deleted keybindings from Gsettings. for keybinding in keybindingList: if keybinding not in keybindings.keys(): if appSpecific == True: keybindingSettings = Settings( schema_id='org.gnome.orca.keybinding', path='/org/gnome/orca/profile/%s/app/%s/keybinding/%s/' % (profile, app, keybinding)) else: keybindingSettings = Settings( schema_id='org.gnome.orca.keybinding', path='/org/gnome/orca/profile/%s/keybinding/%s/' % (profile, keybinding)) keybindingList.remove(keybinding) keybindingSettings.reset('key') keybindingSettings.reset('mod-mask') keybindingSettings.reset('mod-used') keybindingSettings.reset('click-count') if keybindingList == []: baseGSettings.reset('keybindings') else: baseGSettings.set_strv('keybindings', keybindingList)
def _savePronunciations(self, pronunciations, profile, app=None): if app is not None and app != '': baseGSettings = Settings( schema_id='org.gnome.orca', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) appSpecific = True else: baseGSettings = Settings(schema_id='org.gnome.orca', path='/org/gnome/orca/profile/%s/' % profile) appSpecific = False pronunciationList = baseGSettings.get_strv('pronunciations') for pronunciation in pronunciations.keys(): if appSpecific == True: pronunciationSettings = Settings( schema_id='org.gnome.orca.pronunciation', path='/org/gnome/orca/profile/%s/app/%s/pronunciation/%s/' % (profile, app, pronunciation)) else: pronunciationSettings = Settings( schema_id='org.gnome.orca.pronunciation', path='/org/gnome/orca/profile/%s/pronunciation/%s/' % (profile, pronunciation)) if pronunciation not in pronunciationList: pronunciationList.append(pronunciation) pronunciationVal = pronunciations[pronunciation] pronunciationSettings.set_string('actual', pronunciationVal[0]) pronunciationSettings.set_string('replacement', pronunciationVal[1]) # Now we remove any deleted pronunciations from GSettings. for pronunciation in pronunciationList: if pronunciation not in pronunciations.keys(): if appSpecific == True: pronunciationSettings = Settings( schema_id='org.gnome.orca.pronunciation', path= '/org/gnome/orca/profile/%s/app/%s/pronunciation/%s/' % (profile, app, pronunciation)) else: pronunciationSettings = Settings( schema_id='org.gnome.orca.pronunciation', path='/org/gnome/orca/profile/%s/pronunciation/%s/' % (profile, pronunciation)) pronunciationList.remove(pronunciation) pronunciationSettings.reset('actual') pronunciationSettings.reset('replacement') if pronunciationList == []: baseGSettings.reset('pronunciations') else: baseGSettings.set_strv('pronunciations', pronunciationList)
def _getKeybindings(self, profile, app=None): keybindingSettings = {} if app is not None and app != '': baseGSettings = Settings( schema_id='org.gnome.orca', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) appSpecific = True else: baseGSettings = Settings(schema_id='org.gnome.orca', path='/org/gnome/orca/profile/%s/' % profile) appSpecific = False keybindings = baseGSettings.get_strv('keybindings') for keybinding in keybindings: if appSpecific == True: keybindingSetting = Settings( schema_id='org.gnome.orca.keybinding', path='/org/gnome/orca/profile/%s/app/%s/keybinding/%s/' % (profile, app, keybinding)) else: keybindingSetting = Settings( schema_id='org.gnome.orca.keybinding', path='/org/gnome/orca/profile/%s/keybinding/%s/' % (profile, keybinding)) keySetting = keybindingSetting.get_string('key') modMaskSetting = keybindingSetting.get_string('mod-mask') modUsedSetting = keybindingSetting.get_string('mod-used') clickCountSetting = keybindingSetting.get_string('click-count') keybindingSettings[keybinding] = [[ keySetting, modMaskSetting, modUsedSetting, clickCountSetting ]] return keybindingSettings
def saveAppSettings(self, appName, profile, general, pronunciations, keybindings): profiles = self.baseSettings.get_strv('profiles') if profile in profiles: profileBaseSettings = Settings(schema_id='org.gnome.orca', path='/org/gnome/orca/profile/%s/' % profile) apps = profileBaseSettings.get_strv('apps') if appName not in apps: apps.append(appName) profileBaseSettings.set_strv('apps', apps) self._saveGeneralSettings(general, profile, appName) if general.__contains__('voices'): self._saveVoiceSettings(general['voices'], profile, appName) self._savePronunciations(pronunciations, profile, appName) self._saveKeybindings(keybindings, profile, appName)
def getAppSettings(self, appName): prefs = {} profiles = {} availableProfiles = self.baseSettings.get_strv('profiles') for profile in availableProfiles: profileSettings = {} generalSettings = {} voiceSettings = {} pronunciationSettings = {} keybindingSettings = {} profileBaseSettings = Settings(schema_id='org.gnome.orca', path='/org/gnome/orca/profile/%s/' % profile) profileApps = profileBaseSettings.get_strv('apps') if appName in profileApps: generalSettings = self._getGeneralSettings(profile, appName) voiceSettings = self._getVoiceSettings(profile, appName) if voiceSettings != {}: generalSettings['voices'] = voiceSettings pronunciationSettings = self._getPronunciations( profile, appName) keybindingSettings = self._getKeybindings(profile, appName) profileSettings['general'] = generalSettings profileSettings['keybindings'] = keybindingSettings profileSettings['pronunciations'] = pronunciationSettings profiles[profile] = profileSettings if profiles != {}: prefs['profiles'] = profiles return prefs
def getGeneral(self, profile='default'): profiles = self.baseSettings.get_strv('profiles') startingProfile = self.baseSettings.get_strv('starting-profile') generalSettings = {} voiceSettings = {} generalSettings['startingProfile'] = startingProfile if profile in profiles: profileGeneralSettings = Settings( schema_id='org.gnome.orca.general', path='/org/gnome/orca/profile/%s/' % profile) generalSettings = self._getGeneralSettings(profile) voiceSettings = self._getVoiceSettings(profile) generalSettings['voices'] = voiceSettings generalSettings['activeProfile'] = profileGeneralSettings.get_strv( 'profile') self.baseSettings.set_strv('active-profile', generalSettings['activeProfile']) return generalSettings
"Copyright (c) 2012 Igalia, S.L." __license__ = "LGPL" import faulthandler import gi import importlib import os import pyatspi import re import signal import subprocess import sys try: from gi.repository.Gio import Settings a11yAppSettings = Settings(schema_id='org.gnome.desktop.a11y.applications') except: a11yAppSettings = None try: # This can fail due to gtk not being available. We want to # be able to recover from that if possible. The main driver # for this is to allow "orca --text-setup" to work even if # the desktop is not running. # gi.require_version("Gtk", "3.0") from gi.repository import Gtk gi.require_version("Gdk", "3.0") from gi.repository import Gdk
from gi.repository.Gio import Settings _log = logging.getLogger('SafetySave') if environ.get('DEBUG', '').lower() == 'true': _log.setLevel(logging.DEBUG) # For some reason our logging won't emit correctly unless an initial message is # sent in. logging.debug("") _SETTINGS_KEY = "org.gnome.gedit.preferences.editor" _MAX_STORED_AGE_S = 86400 * 7 * 4 _DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%SZ' _gedit_settings = Settings(_SETTINGS_KEY) _start_timestamp = datetime.utcnow().strftime(_DATETIME_FORMAT) _store_root = join(GLib.get_user_data_dir(), 'gedit', 'unsaved') _store_path = join(_store_root, _start_timestamp) class SafetySavePluginAppExtension(GObject.Object, Gedit.AppActivatable): __gtype_name__ = "SafetySavePluginAppExtension" app = GObject.property(type=Gedit.App) def __init__(self): GObject.Object.__init__(self) def __do_cleanup(self): """Determine if any old session backups need to be cleared."""
def __init__(self, prefsDir): self.baseSettings = Settings(schema_id='org.gnome.orca', path='/org/gnome/orca/') self.voiceDefaults = {}
@copyright: Copyright (c) 2006, 2007 IBM Corporation @license: BSD All rights reserved. This program and the accompanying materials are made available under the terms of the BSD which accompanies this distribution, and is available at U{http://www.opensource.org/licenses/bsd-license.php} ''' from gi.repository import Gtk as gtk from gi.repository import Gdk as gdk from gi.repository import Wnck as wnck from gi.repository import GObject from gi.repository import Atk as atk from gi.repository.Gio import Settings a11yAppSettings = Settings('org.gnome.desktop.interface') import os, sys, locale from icons import getIcon import os from bookmarks import BookmarkStore from accessible_treeview import * from node import Node from plugin import PluginManager from plugin import PluginView from tools import Tools from i18n import _, N_ from hotkey_manager import HotkeyManager, HotkeyTreeView from about_dialog import AccerciserAboutDialog from prefs_dialog import AccerciserPreferencesDialog from main_window import AccerciserMainWindow
def _getVoiceSettings(self, profile, app=None): voiceSettings = {} if app is not None and app != '': appSpecific = True else: appSpecific = False for voice in ['default', 'uppercase', 'hyperlink', 'system']: if appSpecific == True: voiceGSettings = Settings( schema_id='org.gnome.orca.voice', path='/org/gnome/orca/profile/%s/app/%s/voice/%s/' % (profile, app, voice)) voiceGSettingsFamily = Settings( schema_id='org.gnome.orca.voice.family', path='/org/gnome/orca/profile/%s/app/%s/voice/%s/' % (profile, app, voice)) else: voiceGSettings = Settings( schema_id='org.gnome.orca.voice', path='/org/gnome/orca/profile/%s/voice/%s/' % (profile, voice)) voiceGSettingsFamily = Settings( schema_id='org.gnome.orca.voice.family', path='/org/gnome/orca/profile/%s/voice/%s/' % (profile, voice)) # Used to quickly determine whether a voice's settings have been # set and are different from the defaults voiceEstablished = voiceGSettings.get_boolean('established') voiceSetting = {} voiceSettingFamily = {} if appSpecific == False and self.voiceDefaults.__contains__(voice): voiceSetting = self.voiceDefaults[voice].copy() if voiceEstablished == True: if appSpecific == False and voiceSetting.__contains__( 'established'): voiceSetting.pop('established') for setting in ['average-pitch', 'gain', 'rate']: if voiceGSettings.get_user_value(setting) is not None: gSettingsVal = voiceGSettings.get_double(setting) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting voice setting for voice %s with name %s = %s' % (voice, setting, gSettingsVal)) voiceSetting[setting] = gSettingsVal if voiceGSettingsFamily.get_boolean('family-set') == True: for setting in ['name', 'locale', 'dialect']: gSettingsVal = voiceGSettingsFamily.get_string(setting) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting voice family setting for voice %s with name %s = %s' % (voice, setting, gSettingsVal)) voiceSettingFamily[setting] = gSettingsVal voiceSetting['family'] = voiceSettingFamily # The JSON backend uses acss the same way, not sure why, so will # just duplicate here to be compatible. if voiceSetting != {}: if appSpecific == True: voiceSettings[voice] = voiceSetting else: voiceSettings[voice] = acss.ACSS(voiceSetting) return voiceSettings
def _getGeneralSettings(self, profile, app=None): generalSettings = {} if app is not None and app != '': generalGSettings = Settings( schema_id='org.gnome.orca.general', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) appSpecificGSettings = Settings( schema_id='org.gnome.orca.general.app', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) speechGeneralGSettings = Settings( schema_id='org.gnome.orca.general.speech', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) brailleGeneralGSettings = Settings( schema_id='org.gnome.orca.general.braille', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) soundGeneralGSettings = Settings( schema_id='org.gnome.orca.general.sound', path='/org/gnome/orca/profile/%s/app/%s/' % (profile, app)) appSpecific = True else: generalGSettings = Settings(schema_id='org.gnome.orca.general', path='/org/gnome/orca/profile/%s/' % profile) speechGeneralGSettings = Settings( schema_id='org.gnome.orca.general.speech', path='/org/gnome/orca/profile/%s/' % profile) brailleGeneralGSettings = Settings( schema_id='org.gnome.orca.general.braille', path='/org/gnome/orca/profile/%s/' % profile) soundGeneralGSettings = Settings( schema_id='org.gnome.orca.general.sound', path='/org/gnome/orca/profile/%s/' % profile) appSpecific = False for setting in orcaToGSettingsMapGeneral.keys(): gSetting = orcaToGSettingsMapGeneral.get(setting) gSettingName = gSetting[0] gSettingType = gSetting[1] # GSettings will always return a value, even if the user has not # Set one, but if a setting is not set for an app, we don't want # to set anything, so the global setting is used, which may be # different from the default. if appSpecific == True: if generalGSettings.get_user_value(gSettingName) is not None: gSettingsVal = self._getGSetting(generalGSettings, gSettingName, gSettingType) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting %s of type %s = %s' % (gSettingName, gSettingType, gSettingsVal)) generalSettings[setting] = gSettingsVal else: gSettingsVal = self._getGSetting(generalGSettings, gSettingName, gSettingType) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting %s of type %s = %s' % (gSettingName, gSettingType, gSettingsVal)) generalSettings[setting] = gSettingsVal for setting in orcaToGSettingsMapGeneralSpeech.keys(): gSetting = orcaToGSettingsMapGeneralSpeech.get(setting) gSettingName = gSetting[0] gSettingType = gSetting[1] # GSettings will always return a value, even if the user has not # Set one, but if a setting is not set for an app, we don't want # to set anything, so the global setting is used, which may be # different from the default. if appSpecific == True: if speechGeneralGSettings.get_user_value( gSettingName) is not None: gSettingsVal = self._getGSetting(speechGeneralGSettings, gSettingName, gSettingType) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting %s of type %s = %s' % (gSettingName, gSettingType, gSettingsVal)) generalSettings[setting] = gSettingsVal else: gSettingsVal = self._getGSetting(speechGeneralGSettings, gSettingName, gSettingType) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting %s of type %s = %s' % (gSettingName, gSettingType, gSettingsVal)) generalSettings[setting] = gSettingsVal for setting in orcaToGSettingsMapGeneralSound.keys(): gSetting = orcaToGSettingsMapGeneralSound.get(setting) gSettingName = gSetting[0] gSettingType = gSetting[1] # GSettings will always return a value, even if the user has not # Set one, but if a setting is not set for an app, we don't want # to set anything, so the global setting is used, which may be # different from the default. if appSpecific == True: if soundGeneralGSettings.get_user_value( gSettingName) is not None: gSettingsVal = self._getGSetting(soundGeneralGSettings, gSettingName, gSettingType) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting %s of type %s = %s' % (gSettingName, gSettingType, gSettingsVal)) generalSettings[setting] = gSettingsVal else: gSettingsVal = self._getGSetting(soundGeneralGSettings, gSettingName, gSettingType) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting %s of type %s = %s' % (gSettingName, gSettingType, gSettingsVal)) generalSettings[setting] = gSettingsVal for setting in orcaToGSettingsMapGeneralBraille.keys(): gSetting = orcaToGSettingsMapGeneralBraille.get(setting) gSettingName = gSetting[0] gSettingType = gSetting[1] # GSettings will always return a value, even if the user has not # Set one, but if a setting is not set for an app, we don't want # to set anything, so the global setting is used, which may be # different from the default. if appSpecific == True: if brailleGeneralGSettings.get_user_value( gSettingName) is not None: gSettingsVal = self._getGSetting(brailleGeneralGSettings, gSettingName, gSettingType) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting %s of type %s = %s' % (gSettingName, gSettingType, gSettingsVal)) generalSettings[setting] = gSettingsVal else: gSettingsVal = self._getGSetting(brailleGeneralGSettings, gSettingName, gSettingType) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting %s of type %s = %s' % (gSettingName, gSettingType, gSettingsVal)) generalSettings[setting] = gSettingsVal if appSpecific == True: for setting in orcaToGSettingsMapGeneralApp.keys(): gSetting = orcaToGSettingsMapGeneralApp.get(setting) gSettingName = gSetting[0] gSettingType = gSetting[1] if appSpecificGSettings.get_user_value( gSettingName) is not None: gSettingsVal = self._getGSetting(appSpecificGSettings, gSettingName, gSettingType) debug.println( debug.LEVEL_FINEST, 'INFO: GSettings backend: Getting %s of type %s = %s' % (gSettingName, gSettingType, gSettingsVal)) generalSettings[setting] = gSettingsVal return generalSettings