[gnome-shell-extensions] user-themes: Support session mode styles
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell-extensions] user-themes: Support session mode styles
- Date: Fri, 17 Apr 2020 16:38:03 +0000 (UTC)
commit 5b2bdd138af1d0b1bf1f1a7ad0754cf8b895c612
Author: Florian Müllner <fmuellner gnome org>
Date: Sat Apr 11 01:31:10 2020 +0200
user-themes: Support session mode styles
Session mode stylesheets are installed in gnome-shell's theme
directory instead of a subdirectory of the global themes direc-
tory.
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/118
extensions/user-theme/extension.js | 3 +++
extensions/user-theme/prefs.js | 12 ++++++++++++
extensions/user-theme/util.js | 7 ++++++-
3 files changed, 21 insertions(+), 1 deletion(-)
---
diff --git a/extensions/user-theme/extension.js b/extensions/user-theme/extension.js
index dff00f8..9986626 100644
--- a/extensions/user-theme/extension.js
+++ b/extensions/user-theme/extension.js
@@ -40,6 +40,9 @@ class ThemeManager {
const stylesheetPaths = Util.getThemeDirs()
.map(dir => `${dir}/${themeName}/gnome-shell/gnome-shell.css`);
+ stylesheetPaths.push(...Util.getModeThemeDirs()
+ .map(dir => `${dir}/${themeName}.css`));
+
stylesheet = stylesheetPaths.find(path => {
let file = Gio.file_new_for_path(path);
return file.query_exists(null);
diff --git a/extensions/user-theme/prefs.js b/extensions/user-theme/prefs.js
index 2f52af5..e22b6a3 100644
--- a/extensions/user-theme/prefs.js
+++ b/extensions/user-theme/prefs.js
@@ -74,6 +74,18 @@ class UserThemePrefsWidget extends Gtk.ScrolledWindow {
}
}
}
+
+ for (const dirName of Util.getModeThemeDirs()) {
+ const dir = Gio.File.new_for_path(dirName);
+ for (const filename of await this._enumerateDir(dir)) {
+ if (!filename.endsWith('.css'))
+ continue;
+
+ const name = filename.slice(0, -4);
+ if (!this._rows.has(name))
+ this._addTheme(name);
+ }
+ }
}
_addTheme(name) {
diff --git a/extensions/user-theme/util.js b/extensions/user-theme/util.js
index c0833b0..e57a99f 100644
--- a/extensions/user-theme/util.js
+++ b/extensions/user-theme/util.js
@@ -1,4 +1,4 @@
-/* exported getThemeDirs */
+/* exported getThemeDirs getModeThemeDirs */
const { GLib } = imports.gi;
const fn = (...args) => GLib.build_filenamev(args);
@@ -10,3 +10,8 @@ function getThemeDirs() {
...GLib.get_system_data_dirs().map(dir => fn(dir, 'themes')),
];
}
+
+function getModeThemeDirs() {
+ return GLib.get_system_data_dirs()
+ .map(dir => fn(dir, 'gnome-shell', 'theme'));
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]