59 lines
1.8 KiB
Python
Executable File
59 lines
1.8 KiB
Python
Executable File
#!/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()
|
|
|