User theme: compatibility with XDG Base Directory

See https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/55
This commit is contained in:
Tomasz Gąsior
2019-02-20 01:15:49 +01:00
parent 5a06de606d
commit 2582ab4fd0
+9 -3
View File
@@ -1,5 +1,5 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
// Load shell theme from ~/.themes/name/gnome-shell
// Load shell theme from ~/.local/share/themes/name/gnome-shell
/* exported init */
const { Gio, GLib } = imports.gi;
@@ -34,11 +34,17 @@ class ThemeManager {
let _themeName = this._settings.get_string(SETTINGS_KEY);
if (_themeName) {
let _userCssStylesheet = GLib.build_filenamev([
let _userCssStylesheetCompat = GLib.build_filenamev([
GLib.get_home_dir(), '.themes', _themeName, 'gnome-shell', 'gnome-shell.css'
]);
let fileCompat = Gio.file_new_for_path(_userCssStylesheetCompat);
let _userCssStylesheet = GLib.build_filenamev([
GLib.get_user_data_dir(), 'themes', _themeName, 'gnome-shell', 'gnome-shell.css'
]);
let file = Gio.file_new_for_path(_userCssStylesheet);
if (file.query_exists(null))
if (fileCompat.query_exists(null))
_stylesheet = _userCssStylesheetCompat;
else if (file.query_exists(null))
_stylesheet = _userCssStylesheet;
else {
let sysdirs = GLib.get_system_data_dirs();