[gnome-shell] sessionMode: Add stylesheetName property
- From: Florian MÃllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] sessionMode: Add stylesheetName property
- Date: Tue, 5 Feb 2013 18:54:59 +0000 (UTC)
commit fcc32fca7eff7939d75a4f7e3993aca6d85e987e
Author: Florian MÃllner <fmuellner gnome org>
Date: Tue Feb 5 04:13:44 2013 +0100
sessionMode: Add stylesheetName property
This will allow to visually differentiate modes by providing
separate styling.
https://bugzilla.gnome.org/show_bug.cgi?id=693219
js/ui/main.js | 17 +++++++++++++++--
js/ui/sessionMode.js | 1 +
2 files changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/main.js b/js/ui/main.js
index 7d7d063..5a6ab0b 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -95,6 +95,8 @@ function start() {
Gio.DesktopAppInfo.set_desktop_env('GNOME');
sessionMode = new SessionMode.SessionMode();
+ sessionMode.connect('updated', _loadDefaultStylesheet);
+
shellDBusService = new ShellDBus.GnomeShell();
shellMountOpDBusService = new ShellMountOperation.GnomeShellMountOpHandler();
@@ -117,8 +119,7 @@ function start() {
global.stage.color = DEFAULT_BACKGROUND_COLOR;
global.stage.no_clear_hint = true;
- _defaultCssStylesheet = global.datadir + '/theme/gnome-shell.css';
- loadTheme();
+ _loadDefaultStylesheet();
// Set up stage hierarchy to group all UI actors under one container.
uiGroup = new Shell.GenericContainer({ name: 'uiGroup' });
@@ -379,6 +380,18 @@ function _nWorkspacesChanged() {
return false;
}
+function _loadDefaultStylesheet() {
+ if (!Main.sessionMode.isPrimary)
+ return;
+
+ let stylesheet = global.datadir + '/theme/' + sessionMode.stylesheetName;
+ if (_defaultCssStylesheet == stylesheet)
+ return;
+
+ _defaultCssStylesheet = stylesheet;
+ loadTheme();
+}
+
/**
* getThemeStylesheet:
*
diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js
index 2774ad6..f802dbd 100644
--- a/js/ui/sessionMode.js
+++ b/js/ui/sessionMode.js
@@ -15,6 +15,7 @@ const DEFAULT_MODE = 'restrictive';
const _modes = {
'restrictive': {
parentMode: null,
+ stylesheetName: 'gnome-shell.css',
hasOverview: false,
showCalendarEvents: false,
allowSettings: false,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]