using Gtk 4.0; using Adw 1; template GradiencePreferencesWindow : Adw.PreferencesWindow { title: _("Preferences"); default-height: 400; default-width: 600; modal: true; Adw.PreferencesPage general_page { title: _("General"); icon-name: "applications-system-symbolic"; Adw.PreferencesGroup flatpak_group { title: _("Flatpak Applications"); Adw.ActionRow { title: _("Allow GTK 4 Theming"); subtitle: _("Override Flatpak permissions for current user to allow GTK 4 Flatpak apps to access custom themes."); activatable-widget: gtk4_user_theming_switch; Gtk.Switch gtk4_user_theming_switch { valign: center; } } Adw.ActionRow { visible: false; title: _("Allow GTK 4 Theming (System)"); subtitle: _("Override Flatpak permissions for all users to allow GTK 4 Flatpak apps to access custom themes. (Requires root access)"); activatable-widget: gtk4_global_theming_switch; Gtk.Switch gtk4_global_theming_switch { valign: center; } } Adw.ActionRow { title: _("Allow GTK 3 Theming"); subtitle: _("Override Flatpak permissions for current user to allow GTK 3 Flatpak apps to access adw-gtk3 theme."); activatable-widget: gtk3_user_theming_switch; Gtk.Switch gtk3_user_theming_switch { valign: center; } } Adw.ActionRow { visible: false; title: _("Allow GTK 3 Theming (System)"); subtitle: _("Override Flatpak permissions for all users to allow GTK 3 Flatpak apps to access adw-gtk3 theme. (Requires root access)"); activatable-widget: gtk3_global_theming_switch; Gtk.Switch gtk3_global_theming_switch { valign: center; } } } Adw.PreferencesGroup jsdeliver_group { title: _("Preset Fetching"); Adw.ActionRow jsdeliver_row { title: _("Use an alternative server for downloading presets"); subtitle: _("JSDeliver will be used instead of direct preset fetching from GitHub"); Gtk.Switch jsdeliver_switch { valign: center; } } } // NOTE: This group is disabled as there isn't yet any implementation of custom repositories in Gradience Adw.PreferencesGroup custom_repository_group { visible: false; title: _("Custom Preset Repositories"); Adw.ActionRow { title: _("Custom repository URL address"); Gtk.Box { styles ["linked"] orientation: horizontal; Gtk.Entry custom_repository_entry { valign: center; } Gtk.Button custom_repository_apply { valign: center; icon-name: "checkmark-large-symbolic"; } } } } } Adw.PreferencesPage theming_page { title: _("Theming"); icon-name: "larger-brush-symbolic"; Adw.PreferencesGroup preset_group { title: _("Theme Engines"); description: _("Theme Engines are the built-in theme generators for various customizable programs/frameworks."); Adw.ActionRow { title: _("Shell Engine"); subtitle: _("Shell Engine generates a custom GNOME Shell theme based on a currently chosen preset."); activatable-widget: gnome_shell_engine_switch; Switch gnome_shell_engine_switch { valign: center; } } Adw.ActionRow { title: _("Monet Engine"); subtitle: _("Monet Engine generates a Material Design 3 palette by extracting the image's colors."); activatable-widget: monet_engine_switch; Switch monet_engine_switch { valign: center; } } } } }