Don't save original themes

This commit is contained in:
Romain Vigier
2020-08-24 11:28:38 +02:00
parent 68b54c1578
commit 96928f3663
8 changed files with 10 additions and 207 deletions
+1 -26
View File
@@ -41,7 +41,6 @@ var CursorThemer = class {
enable() {
logDebug('Enabling Cursor Themer...');
this._watchStatus();
this._saveOriginalTheme();
if (e.settingsManager.cursorVariantsEnabled) {
this._connectSettings();
this._connectTimer();
@@ -53,7 +52,6 @@ var CursorThemer = class {
logDebug('Disabling Cursor Themer...');
this._disconnectTimer();
this._disconnectSettings();
this._resetOriginalTheme();
this._unwatchStatus();
logDebug('Cursor Themer disabled.');
}
@@ -132,30 +130,7 @@ var CursorThemer = class {
_setVariant(time) {
logDebug(`Setting the cursor ${time} variant...`);
switch (time) {
case 'day':
e.settingsManager.cursorTheme = e.settingsManager.cursorVariantDay;
break;
case 'night':
e.settingsManager.cursorTheme = e.settingsManager.cursorVariantNight;
break;
case 'original':
e.settingsManager.cursorTheme = e.settingsManager.cursorVariantOriginal;
break;
}
}
_saveOriginalTheme() {
e.settingsManager.cursorVariantOriginal = e.settingsManager.cursorTheme;
}
_resetOriginalTheme() {
// We don't reset the theme when locking the session to prevent
// flicker on unlocking
if (!main.screenShield.locked) {
logDebug('Resetting to the user\'s original cursor theme...');
this._setVariant('original');
}
e.settingsManager.cursorTheme = time === 'day' ? e.settingsManager.cursorVariantDay : e.settingsManager.cursorVariantNight;
}
};
+4 -30
View File
@@ -54,7 +54,6 @@ var GtkThemer = class {
logDebug('Enabling GTK Themer...');
try {
this._watchStatus();
this._saveOriginalTheme();
if (e.settingsManager.gtkVariantsEnabled) {
this._connectSettings();
this._updateVariants();
@@ -70,7 +69,6 @@ var GtkThemer = class {
logDebug('Disabling GTK Themer...');
this._disconnectTimer();
this._disconnectSettings();
this._resetOriginalTheme();
this._unwatchStatus();
logDebug('GTK Themer disabled.');
}
@@ -161,17 +159,7 @@ var GtkThemer = class {
if (!time)
return;
logDebug(`Setting the GTK ${time} variant...`);
switch (time) {
case 'day':
e.settingsManager.gtkTheme = e.settingsManager.gtkVariantDay;
break;
case 'night':
e.settingsManager.gtkTheme = e.settingsManager.gtkVariantNight;
break;
case 'original':
e.settingsManager.gtkTheme = e.settingsManager.gtkVariantOriginal;
break;
}
e.settingsManager.gtkTheme = time === 'day' ? e.settingsManager.gtkVariantDay : e.settingsManager.gtkVariantNight;
}
_updateVariants() {
@@ -179,32 +167,18 @@ var GtkThemer = class {
return;
logDebug('Updating GTK variants...');
const variants = GtkVariants.guessFrom(e.settingsManager.gtkTheme);
const originalTheme = e.settingsManager.gtkTheme;
const variants = GtkVariants.guessFrom(originalTheme);
const installedThemes = getInstalledGtkThemes();
if (!installedThemes.has(variants.get('day')) || !installedThemes.has(variants.get('night'))) {
e.settingsManager.gtkVariantOriginal = variants.get('original');
const message = _('Unable to automatically detect the day and night variants for the "%s" GTK theme. Please manually choose them in the extension\'s preferences.').format(variants.get('original'));
const message = _('Unable to automatically detect the day and night variants for the "%s" GTK theme. Please manually choose them in the extension\'s preferences.').format(originalTheme);
throw new Error(message);
}
e.settingsManager.gtkVariantDay = variants.get('day');
e.settingsManager.gtkVariantNight = variants.get('night');
e.settingsManager.gtkVariantOriginal = variants.get('original');
logDebug(`New GTK variants. { day: '${variants.get('day')}'; night: '${variants.get('night')}' }`);
}
_saveOriginalTheme() {
e.settingsManager.gtkVariantOriginal = e.settingsManager.gtkTheme;
}
_resetOriginalTheme() {
// We don't reset the theme when locking the session to prevent
// flicker on unlocking
if (!main.screenShield.locked) {
logDebug('Resetting to the user\'s original GTK theme...');
this._setVariant('original');
}
}
};
-1
View File
@@ -44,7 +44,6 @@ var GtkVariants = class {
static guessFrom(name) {
const variants = new Map();
variants.set('original', name);
if (name.includes('Adapta')) {
variants.set('day', name.replace('-Nokto', ''));
+1 -26
View File
@@ -41,7 +41,6 @@ var IconThemer = class {
enable() {
logDebug('Enabling Icon Themer...');
this._watchStatus();
this._saveOriginalTheme();
if (e.settingsManager.iconVariantsEnabled) {
this._connectSettings();
this._connectTimer();
@@ -53,7 +52,6 @@ var IconThemer = class {
logDebug('Disabling Icon Themer...');
this._disconnectTimer();
this._disconnectSettings();
this._resetOriginalTheme();
this._unwatchStatus();
logDebug('Icon Themer disabled.');
}
@@ -132,30 +130,7 @@ var IconThemer = class {
_setVariant(time) {
logDebug(`Setting the icon ${time} variant...`);
switch (time) {
case 'day':
e.settingsManager.iconTheme = e.settingsManager.iconVariantDay;
break;
case 'night':
e.settingsManager.iconTheme = e.settingsManager.iconVariantNight;
break;
case 'original':
e.settingsManager.iconTheme = e.settingsManager.iconVariantOriginal;
break;
}
}
_saveOriginalTheme() {
e.settingsManager.iconVariantOriginal = e.settingsManager.iconTheme;
}
_resetOriginalTheme() {
// We don't reset the theme when locking the session to prevent
// flicker on unlocking
if (!main.screenShield.locked) {
logDebug('Resetting to the user\'s original icon theme...');
this._setVariant('original');
}
e.settingsManager.iconTheme = time === 'day' ? e.settingsManager.iconVariantDay : e.settingsManager.iconVariantNight;
}
};
-72
View File
@@ -49,21 +49,17 @@ var SettingsManager = class {
this._gtkVariantsStatusChangedConnect = this._extensionsSettings.connect('changed::gtk-variants-enabled', this._onGtkVariantsStatusChanged.bind(this));
this._gtkVariantDayChangedConnect = this._extensionsSettings.connect('changed::gtk-variant-day', this._onGtkVariantDayChanged.bind(this));
this._gtkVariantNightChangedConnect = this._extensionsSettings.connect('changed::gtk-variant-night', this._onGtkVariantNightChanged.bind(this));
this._gtkVariantOriginalChangedConnect = this._extensionsSettings.connect('changed::gtk-variant-original', this._onGtkVariantOriginalChanged.bind(this));
this._manualGtkVariantsChangedConnect = this._extensionsSettings.connect('changed::manual-gtk-variants', this._onManualGtkVariantsChanged.bind(this));
this._shellVariantsStatusChangedConnect = this._extensionsSettings.connect('changed::shell-variants-enabled', this._onShellVariantsStatusChanged.bind(this));
this._shellVariantDayChangedConnect = this._extensionsSettings.connect('changed::shell-variant-day', this._onShellVariantDayChanged.bind(this));
this._shellVariantNightChangedConnect = this._extensionsSettings.connect('changed::shell-variant-night', this._onShellVariantNightChanged.bind(this));
this._shellVariantOriginalChangedConnect = this._extensionsSettings.connect('changed::shell-variant-original', this._onShellVariantOriginalChanged.bind(this));
this._manualShellVariantsChangedConnect = this._extensionsSettings.connect('changed::manual-shell-variants', this._onManualShellVariantsChanged.bind(this));
this._iconVariantsStatusConnect = this._extensionsSettings.connect('changed::icon-variants-enabled', this._onIconVariantsStatusChanged.bind(this));
this._iconVariantDayChangedConnect = this._extensionsSettings.connect('changed::icon-variant-day', this._onIconVariantDayChanged.bind(this));
this._iconVariantNightChangedConnect = this._extensionsSettings.connect('changed::icon-variant-night', this._onIconVariantNightChanged.bind(this));
this._iconVariantOriginalChangedConnect = this._extensionsSettings.connect('changed::icon-variant-original', this._onIconVariantOriginalChanged.bind(this));
this._cursorVariantsStatusConnect = this._extensionsSettings.connect('changed::cursor-variants-enabled', this._onCursorVariantsStatusChanged.bind(this));
this._cursorVariantDayChangedConnect = this._extensionsSettings.connect('changed::cursor-variant-day', this._onCursorVariantDayChanged.bind(this));
this._cursorVariantNightChangedConnect = this._extensionsSettings.connect('changed::cursor-variant-night', this._onCursorVariantNightChanged.bind(this));
this._cursorVariantOriginalChangedConnect = this._extensionsSettings.connect('changed::cursor-variant-original', this._onCursorVariantOriginalChanged.bind(this));
this._timeSourceChangedConnect = this._extensionsSettings.connect('changed::time-source', this._onTimeSourceChanged.bind(this));
this._manualTimeSourceChangedConnect = this._extensionsSettings.connect('changed::manual-time-source', this._onManualTimeSourceChanged.bind(this));
this._ondemandKeybindingChangedConnect = this._extensionsSettings.connect('changed::nightthemeswitcher-ondemand-keybinding', this._onOndemandKeybindingChanged.bind(this));
@@ -88,21 +84,17 @@ var SettingsManager = class {
this._extensionsSettings.disconnect(this._gtkVariantsStatusChangedConnect);
this._extensionsSettings.disconnect(this._gtkVariantDayChangedConnect);
this._extensionsSettings.disconnect(this._gtkVariantNightChangedConnect);
this._extensionsSettings.disconnect(this._gtkVariantOriginalChangedConnect);
this._extensionsSettings.disconnect(this._manualGtkVariantsChangedConnect);
this._extensionsSettings.disconnect(this._shellVariantsStatusChangedConnect);
this._extensionsSettings.disconnect(this._shellVariantDayChangedConnect);
this._extensionsSettings.disconnect(this._shellVariantNightChangedConnect);
this._extensionsSettings.disconnect(this._shellVariantOriginalChangedConnect);
this._extensionsSettings.disconnect(this._manualShellVariantsChangedConnect);
this._extensionsSettings.disconnect(this._iconVariantsStatusConnect);
this._extensionsSettings.disconnect(this._iconVariantDayChangedConnect);
this._extensionsSettings.disconnect(this._iconVariantNightChangedConnect);
this._extensionsSettings.disconnect(this._iconVariantOriginalChangedConnect);
this._extensionsSettings.disconnect(this._cursorVariantsStatusConnect);
this._extensionsSettings.disconnect(this._cursorVariantDayChangedConnect);
this._extensionsSettings.disconnect(this._cursorVariantNightChangedConnect);
this._extensionsSettings.disconnect(this._cursorVariantOriginalChangedConnect);
this._extensionsSettings.disconnect(this._timeSourceChangedConnect);
this._extensionsSettings.disconnect(this._manualTimeSourceChangedConnect);
this._extensionsSettings.disconnect(this._ondemandKeybindingChangedConnect);
@@ -154,17 +146,6 @@ var SettingsManager = class {
}
}
get gtkVariantOriginal() {
return this._extensionsSettings.get_string('gtk-variant-original');
}
set gtkVariantOriginal(value) {
if (value !== this.gtkVariantOriginal) {
this._extensionsSettings.set_string('gtk-variant-original', value);
logDebug(`The GTK original variant has been set to '${value}'.`);
}
}
get manualGtkVariants() {
return this._extensionsSettings.get_boolean('manual-gtk-variants');
}
@@ -198,17 +179,6 @@ var SettingsManager = class {
}
}
get shellVariantOriginal() {
return this._extensionsSettings.get_string('shell-variant-original');
}
set shellVariantOriginal(value) {
if (value !== this.shellVariantOriginal) {
this._extensionsSettings.set_string('shell-variant-original', value);
logDebug(`The shell original variant has been set to '${value}'.`);
}
}
get manualShellVariants() {
return this._extensionsSettings.get_boolean('manual-shell-variants');
}
@@ -241,17 +211,6 @@ var SettingsManager = class {
}
}
get cursorVariantOriginal() {
return this._extensionsSettings.get_string('cursor-variant-original');
}
set cursorVariantOriginal(value) {
if (value !== this.cursorVariantOriginal) {
this._extensionsSettings.set_string('cursor-variant-original', value);
logDebug(`The cursor original variant has been set to '${value}'.`);
}
}
/* Icon variants settings */
get iconVariantsEnabled() {
@@ -280,17 +239,6 @@ var SettingsManager = class {
}
}
get iconVariantOriginal() {
return this._extensionsSettings.get_string('icon-variant-original');
}
set iconVariantOriginal(value) {
if (value !== this.iconVariantOriginal) {
this._extensionsSettings.set_string('icon-variant-original', value);
logDebug(`The icon original variant has been set to '${value}'.`);
}
}
/* Time source settings */
@@ -483,11 +431,6 @@ var SettingsManager = class {
this.emit('gtk-variant-changed', 'night');
}
_onGtkVariantOriginalChanged(_settings, _changedKey) {
logDebug(`GTK original variant has changed to '${this.gtkVariantOriginal}'.`);
this.emit('gtk-variant-changed', 'original');
}
_onManualGtkVariantsChanged(_settings, _changedKey) {
logDebug(`Manual GTK variants have been ${this.manualGtkVariants ? 'ena' : 'disa'}bled.`);
this.emit('manual-gtk-variants-changed', this.manualGtkVariants);
@@ -511,11 +454,6 @@ var SettingsManager = class {
this.emit('shell-variant-changed', 'night');
}
_onShellVariantOriginalChanged(_settings, _changedKey) {
logDebug(`Shell original variant has changed to '${this.shellVariantOriginal}'.`);
this.emit('shell-variant-changed', 'original');
}
_onManualShellVariantsChanged(_settings, _changedKey) {
logDebug(`Manual Shell variants have been ${this.manualShellVariants ? 'ena' : 'disa'}bled.`);
this.emit('manual-shell-variants-changed', this.manualShellVariants);
@@ -539,11 +477,6 @@ var SettingsManager = class {
this.emit('cursor-variant-changed', 'night');
}
_onCursorVariantOriginalChanged(_settings, _changedKey) {
logDebug(`Cursor original variant has changed to '${this.cursorVariantOriginal}'.`);
this.emit('cursor-variant-changed', 'original');
}
/* Icon variants */
@@ -562,11 +495,6 @@ var SettingsManager = class {
this.emit('icon-variant-changed', 'night');
}
_onIconVariantOriginalChanged(_settings, _changedKey) {
logDebug(`Icon original variant has changed to '${this.iconVariantOriginal}'.`);
this.emit('icon-variant-changed', 'original');
}
/* Time source */
+4 -31
View File
@@ -54,7 +54,6 @@ var ShellThemer = class {
logDebug('Enabling Shell Themer...');
try {
this._watchStatus();
this._saveOriginalTheme();
if (e.settingsManager.shellVariantsEnabled) {
this._connectSettings();
this._updateVariants();
@@ -70,7 +69,6 @@ var ShellThemer = class {
logDebug('Disabling Shell Themer...');
this._disconnectTimer();
this._disconnectSettings();
this._resetOriginalTheme();
this._unwatchStatus();
logDebug('Shell Themer disabled.');
}
@@ -161,18 +159,7 @@ var ShellThemer = class {
if (!time)
return;
logDebug(`Setting the shell ${time} variant...`);
let shellTheme;
switch (time) {
case 'day':
shellTheme = e.settingsManager.shellVariantDay;
break;
case 'night':
shellTheme = e.settingsManager.shellVariantNight;
break;
case 'original':
shellTheme = e.settingsManager.shellVariantOriginal;
break;
}
const shellTheme = time === 'day' ? e.settingsManager.shellVariantDay : e.settingsManager.shellVariantNight;
if (e.settingsManager.useUserthemes) {
e.settingsManager.shellTheme = shellTheme;
} else {
@@ -186,33 +173,19 @@ var ShellThemer = class {
return;
logDebug('Updating Shell variants...');
const variants = ShellVariants.guessFrom(e.settingsManager.shellTheme);
const originalTheme = e.settingsManager.shellTheme;
const variants = ShellVariants.guessFrom(originalTheme);
const installedThemes = getInstalledShellThemes();
if (!installedThemes.has(variants.get('day')) || !installedThemes.has(variants.get('night'))) {
e.settingsManager.shellVariantOriginal = variants.get('original');
const message = _('Unable to automatically detect the day and night variants for the "%s" GNOME Shell theme. Please manually choose them in the extension\'s preferences.').format(variants.get('original'));
const message = _('Unable to automatically detect the day and night variants for the "%s" GNOME Shell theme. Please manually choose them in the extension\'s preferences.').format(originalTheme);
throw new Error(message);
}
e.settingsManager.shellVariantDay = variants.get('day');
e.settingsManager.shellVariantNight = variants.get('night');
e.settingsManager.shellVariantOriginal = variants.get('original');
logDebug(`New Shell variants. { day: '${variants.get('day')}'; night: '${variants.get('night')}' }`);
}
_saveOriginalTheme() {
e.settingsManager.shellVariantOriginal = e.settingsManager.shellTheme;
}
_resetOriginalTheme() {
// We don't reset the theme when locking the session to prevent
// flicker on unlocking
if (!main.screenShield.locked) {
logDebug('Resetting to the user\'s original Shell theme...');
this._setVariant('original');
}
}
};
Signals.addSignalMethods(ShellThemer.prototype);
-1
View File
@@ -44,7 +44,6 @@ var ShellVariants = class {
static guessFrom(name) {
const variants = new Map();
variants.set('original', name);
if (name === '') {
variants.set('day', '');
@@ -16,11 +16,6 @@
<summary>Night GTK theme</summary>
<description>The GTK theme to use during nighttime</description>
</key>
<key name="gtk-variant-original" type="s">
<default>"Adwaita"</default>
<summary>Original GTK theme</summary>
<description>The GTK theme to restore when the extension is disabled</description>
</key>
<key name="manual-gtk-variants" type="b">
<default>false</default>
<summary>Use manual GTK variants</summary>
@@ -41,11 +36,6 @@
<summary>Night shell theme</summary>
<description>The shell theme to use during nighttime</description>
</key>
<key name="shell-variant-original" type="s">
<default>""</default>
<summary>Original shell theme</summary>
<description>The shell theme to restore when the extension is disabled</description>
</key>
<key name="manual-shell-variants" type="b">
<default>false</default>
<summary>Use manual shell variants</summary>
@@ -66,11 +56,6 @@
<summary>Night icon theme</summary>
<description>The icon theme to use during nighttime</description>
</key>
<key name="icon-variant-original" type="s">
<default>""</default>
<summary>Original icon theme</summary>
<description>The icon theme to restore when the extension is disabled</description>
</key>
<key name="cursor-variants-enabled" type="b">
<default>false</default>
<summary>Switch cursor variants</summary>
@@ -86,11 +71,6 @@
<summary>Night cursor theme</summary>
<description>The cursor theme to use during nighttime</description>
</key>
<key name="cursor-variant-original" type="s">
<default>""</default>
<summary>Original cursor theme</summary>
<description>The cursor theme to restore when the extension is disabled</description>
</key>
<key name="time-source" type="s">
<choices>
<choice value="nightlight"/>