From be6f252c5c14416d9515eb635618ae12e1dea8c3 Mon Sep 17 00:00:00 2001 From: 0xMRTT <0xMRTT@proton.me> Date: Tue, 15 Aug 2023 22:10:03 +0200 Subject: [PATCH] feat: set legacy theme to adw-gtk3 --- gradience/backend/theming/preset.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gradience/backend/theming/preset.py b/gradience/backend/theming/preset.py index 5c9a1b86..3bdb338e 100644 --- a/gradience/backend/theming/preset.py +++ b/gradience/backend/theming/preset.py @@ -26,7 +26,8 @@ from gi.repository import GLib, Gio from gradience.backend.models.preset import Preset from gradience.backend.utils.theming import generate_gtk_css -from gradience.backend.globals import user_config_dir, presets_dir, get_gtk_theme_dir +from gradience.backend.globals import user_config_dir, presets_dir, get_gtk_theme_dir, is_sandboxed +from gradience.backend.utils.gsettings import GSettingsSetting, FlatpakGSettings, GSettingsMissingError from gradience.backend.logger import Logger @@ -34,8 +35,14 @@ logging = Logger() class PresetUtils: + THEME_GSETTINGS_SCHEMA_ID = "org.gnome.desktop.interface" + def __init__(self): - pass + + def set_gtk3_theme(self): + settings_retriever = FlatpakGSettings if is_sandboxed() else GSettingsSetting + self.settings = settings_retriever(self.THEME_GSETTINGS_SCHEMA_ID, schema_dir=None) + self.settings.set("gtk-theme", "adw-gtk3") def get_presets_list(self, repo=None, full_list=False) -> dict: presets_list = {} @@ -108,6 +115,9 @@ class PresetUtils: theme_dir = get_gtk_theme_dir(app_type) gtk_css_path = os.path.join(theme_dir, "gtk.css") + if app_type == "gtk3": + self.set_gtk3_theme() + if not os.path.exists(theme_dir): os.makedirs(theme_dir)