Viewing file: ubuntu-settings-migrate-to-defaults.18.10.1.py (1.79 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/python3 # -*- coding: utf-8 -*- # Copyright (C) 2018 Canonical # # Authors: # Marco Trevisan <marco.trevisan@canonical.com> # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation; version 3. # # This program is distributed in the hope that it will be useful, but WITHOUTa # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
from gi.repository import Gio import os import sys
OLD_DEFAULTS = { "org.gnome.desktop.sound": { "theme-name": ["ubuntu"], }, "org.gnome.desktop.interface": { "gtk-theme": ["Ambiance", "Radiance"], "icon-theme": ["ubuntu-mono-dark"], "cursor-theme": ["DMZ-White"], } }
if os.getenv('DESKTOP_SESSION') not in ['ubuntu', 'ubuntu-wayland']: sys.exit(0)
any_changed = False
for schema in OLD_DEFAULTS.keys(): settings = Gio.Settings.new(schema) old_settings = OLD_DEFAULTS[schema]
for key in old_settings.keys(): user_value = settings.get_user_value(key)
if user_value and user_value.unpack() in old_settings[key]: print('{}.{} is using old ubuntu setting ("{}"), replacing it with ' 'the latest default ("{}")'.format(schema, key, user_value.unpack(), settings.get_default_value(key).unpack())) settings.reset(key) any_changed = True
if any_changed: Gio.Settings.sync()
|