From 7576883744db6b09d94fa7a5fcf89c03b99bb94e Mon Sep 17 00:00:00 2001 From: Elad Alfassa Date: Thu, 14 Apr 2011 11:23:31 +0300 Subject: [PATCH] Support globally installed themes If a theme cannot be found in the user directory, try in system data dirs (XDG_DATA_DIRS, usually /usr/share and /usr/local/share) Signed-off-by: Giovanni Campagna --- extensions/user-theme/extension.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/extensions/user-theme/extension.js b/extensions/user-theme/extension.js index b0b041e9..2e61dade 100644 --- a/extensions/user-theme/extension.js +++ b/extensions/user-theme/extension.js @@ -29,8 +29,17 @@ ThemeManager.prototype = { file = Gio.file_new_for_path(_userCssStylesheet); if (file.query_exists(null)) _stylesheet = _userCssStylesheet; - else - _stylesheet = null; + else { + let sysdirs = GLib.get_system_data_dirs(); + for (let i = 0; i < sysdirs.length; i++) { + _userCssStylesheet = sysdirs[i] + '/themes/' + _themeName + '/gnome-shell/gnome-shell.css'; + file = Gio.file_new_for_path(_userCssStylesheet); + if (file.query_exists(null)) { + _stylesheet = _userCssStylesheet; + break; + } + } + } } if (_stylesheet)