Allow disabling GTK and shell variants switching

This commit is contained in:
Romain
2020-06-15 14:13:37 +00:00
parent 5a0c0d7f36
commit c17f5898d6
8 changed files with 384 additions and 180 deletions
+33 -6
View File
@@ -46,10 +46,14 @@ var GtkThemer = class {
enable() {
log_debug('Enabling GTK Themer...');
try {
this._update_variants();
this._set_variant(e.timer.time);
this._connect_settings();
this._connect_timer();
this._watch_status();
this._save_original_theme();
if ( e.settingsManager.gtk_variants_enabled ) {
this._update_variants();
this._set_variant(e.timer.time);
this._connect_settings();
this._connect_timer();
}
}
catch(e) {
log_error(e);
@@ -61,11 +65,25 @@ var GtkThemer = class {
log_debug('Disabling GTK Themer...');
this._disconnect_timer();
this._disconnect_settings();
this._reset_theme();
this._reset_original_theme();
this._unwatch_status();
log_debug('GTK Themer disabled.');
}
_watch_status() {
log_debug('Watching GTK variants status...');
this._gtk_variants_status_changed_connect = e.settingsManager.connect('gtk-variants-status-changed', this._on_gtk_variants_status_changed.bind(this));
}
_unwatch_status() {
if ( this._gtk_variants_status_changed_connect ) {
e.settingsManager.disconnect(this._gtk_variants_status_changed_connect);
this._gtk_variants_status_changed_connect = null;
}
log_debug('Stopped watching GTK variants status.');
}
_connect_settings() {
log_debug('Connecting GTK Themer to settings...');
this._gtk_variant_changed_connect = e.settingsManager.connect('gtk-variant-changed', this._on_gtk_variant_changed.bind(this));
@@ -98,6 +116,11 @@ var GtkThemer = class {
}
_on_gtk_variants_status_changed(settings, enabled) {
this.disable();
this.enable();
}
_on_gtk_variant_changed(settings, changed_variant_time) {
if ( changed_variant_time === e.timer.time ) {
this._set_variant(changed_variant_time);
@@ -159,7 +182,11 @@ var GtkThemer = class {
log_debug(`New GTK variants. { day: '${variants.get('day')}'; night: '${variants.get('night')}' }`);
}
_reset_theme() {
_save_original_theme() {
e.settingsManager.gtk_variant_original = e.settingsManager.gtk_theme;
}
_reset_original_theme() {
// We don't reset the theme when locking the session to prevent
// flicker on unlocking
if ( !main.screenShield.locked ) {
+25
View File
@@ -51,9 +51,11 @@ var SettingsManager = class {
enable() {
log_debug('Connecting settings signals...');
this._gtk_variants_status_changed_connect = this._extensionsSettings.connect('changed::gtk-variants-enabled', this._on_gtk_variants_status_changed.bind(this));
this._gtk_variant_day_changed_connect = this._extensionsSettings.connect('changed::gtk-variant-day', this._on_gtk_variant_day_changed.bind(this));
this._gtk_variant_night_changed_connect = this._extensionsSettings.connect('changed::gtk-variant-night', this._on_gtk_variant_night_changed.bind(this));
this._gtk_variant_original_changed_connect = this._extensionsSettings.connect('changed::gtk-variant-original', this._on_gtk_variant_original_changed.bind(this));
this._shell_variants_status_changed_connect = this._extensionsSettings.connect('changed::shell-variants-enabled', this._on_shell_variants_status_changed.bind(this));
this._shell_variant_day_changed_connect = this._extensionsSettings.connect('changed::shell-variant-day', this._on_shell_variant_day_changed.bind(this));
this._shell_variant_night_changed_connect = this._extensionsSettings.connect('changed::shell-variant-night', this._on_shell_variant_night_changed.bind(this));
this._shell_variant_original_changed_connect = this._extensionsSettings.connect('changed::shell-variant-original', this._on_shell_variant_original_changed.bind(this));
@@ -85,9 +87,11 @@ var SettingsManager = class {
disable() {
log_debug('Disconnecting settings signals...');
this._extensionsSettings.disconnect(this._gtk_variants_status_changed_connect);
this._extensionsSettings.disconnect(this._gtk_variant_day_changed_connect);
this._extensionsSettings.disconnect(this._gtk_variant_night_changed_connect);
this._extensionsSettings.disconnect(this._gtk_variant_original_changed_connect);
this._extensionsSettings.disconnect(this._shell_variants_status_changed_connect);
this._extensionsSettings.disconnect(this._shell_variant_day_changed_connect);
this._extensionsSettings.disconnect(this._shell_variant_night_changed_connect);
this._extensionsSettings.disconnect(this._shell_variant_original_changed_connect);
@@ -123,6 +127,10 @@ var SettingsManager = class {
/* GTK variants settings */
get gtk_variants_enabled() {
return this._extensionsSettings.get_boolean('gtk-variants-enabled');
}
get gtk_variant_day() {
return this._extensionsSettings.get_string('gtk-variant-day');
}
@@ -163,6 +171,10 @@ var SettingsManager = class {
/* Shell variants settings */
get shell_variants_enabled() {
return this._extensionsSettings.get_boolean('shell-variants-enabled');
}
get shell_variant_day() {
return this._extensionsSettings.get_string('shell-variant-day');
}
@@ -387,6 +399,9 @@ var SettingsManager = class {
if ( this._userthemesSettings ) {
return this._userthemesSettings.get_string('name');
}
else {
return '';
}
}
set shell_theme(value) {
@@ -448,6 +463,11 @@ var SettingsManager = class {
/* GTK variants */
_on_gtk_variants_status_changed(settings, changed_key) {
log_debug('GTK variants have been ' + (this.gtk_variants_enabled ? 'ena' : 'disa') + 'bled.');
this.emit('gtk-variants-status-changed', this.gtk_variants_enabled);
}
_on_gtk_variant_day_changed(settings, changed_key) {
log_debug(`GTK day variant has changed to '${this.gtk_variant_day}'.`);
this.emit('gtk-variant-changed', 'day');
@@ -466,6 +486,11 @@ var SettingsManager = class {
/* Shell variants */
_on_shell_variants_status_changed(settings, changed_key) {
log_debug('Shell variants have been ' + (this.shell_variants_enabled ? 'ena' : 'disa') + 'bled.');
this.emit('shell-variants-status-changed', this.shell_variants_enabled);
}
_on_shell_variant_day_changed(settings, changed_key) {
log_debug(`Shell day variant has changed to '${this.shell_variant_day}'.`);
this.emit('shell-variant-changed', 'day');
+33 -6
View File
@@ -45,10 +45,14 @@ var ShellThemer = class {
enable() {
log_debug('Enabling Shell Themer...');
try {
this._update_variants();
this._set_variant(e.timer.time);
this._connect_settings();
this._connect_timer();
this._watch_status();
this._save_original_theme();
if ( e.settingsManager.shell_variants_enabled ) {
this._update_variants();
this._set_variant(e.timer.time);
this._connect_settings();
this._connect_timer();
}
}
catch(e) {
log_error(e);
@@ -60,11 +64,25 @@ var ShellThemer = class {
log_debug('Disabling Shell Themer...');
this._disconnect_timer();
this._disconnect_settings();
this._reset_theme();
this._reset_original_theme();
this._unwatch_status();
log_debug('Shell Themer disabled.');
}
_watch_status() {
log_debug('Watching shell variants status...');
this._shell_variants_status_changed_connect = e.settingsManager.connect('shell-variants-status-changed', this._on_shell_variants_status_changed.bind(this));
}
_unwatch_status() {
if ( this._shell_variants_status_changed_connect ) {
e.settingsManager.disconnect(this._shell_variants_status_changed_connect);
this._shell_variants_status_changed_connect = null;
}
log_debug('Stopped watching shell variants status.');
}
_connect_settings() {
log_debug('Connecting Shell Themer to settings...');
this._shell_variant_changed_connect = e.settingsManager.connect('shell-variant-changed', this._on_shell_variant_changed.bind(this));
@@ -97,6 +115,11 @@ var ShellThemer = class {
}
_on_shell_variants_status_changed(settings, enabled) {
this.disable();
this.enable();
}
_on_shell_variant_changed(settings, changed_variant_time) {
if ( changed_variant_time === e.timer.time ) {
this._set_variant(e.timer.time);
@@ -166,7 +189,11 @@ var ShellThemer = class {
log_debug(`New Shell variants. { day: '${variants.get('day')}'; night: '${variants.get('night')}' }`);
}
_reset_theme() {
_save_original_theme() {
e.settingsManager.shell_variant_original = e.settingsManager.shell_theme;
}
_reset_original_theme() {
// We don't reset the theme when locking the session to prevent
// flicker on unlocking
if ( !main.screenShield.locked ) {
+94 -73
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Night Theme Switcher 7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-15 10:10+0200\n"
"PO-Revision-Date: 2020-06-15 10:11+0200\n"
"POT-Creation-Date: 2020-06-15 16:04+0200\n"
"PO-Revision-Date: 2020-06-15 16:06+0200\n"
"Last-Translator: Romain Vigier <romain@romainvigier.fr>\n"
"Language-Team: French - France <romain@romainvigier.fr>\n"
"Language: fr_FR\n"
@@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Generator: Gtranslator 3.36.0\n"
#: src/modules/GtkThemer.js:152
#: src/modules/GtkThemer.js:175
#, javascript-format
msgid ""
"Unable to automatically detect the day and night variants for the \"%s\" GTK "
@@ -28,7 +28,7 @@ msgstr ""
"pour le thème GTK \"%s\". Veuillez les sélectionner manuellement dans les "
"préférences de lextension."
#: src/modules/ShellThemer.js:159
#: src/modules/ShellThemer.js:182
#, javascript-format
msgid ""
"Unable to automatically detect the day and night variants for the \"%s\" "
@@ -49,15 +49,15 @@ msgstr "Vous pouvez définir des arrière-plans diurnes et nocturnes différents
#: src/preferences/Backgrounds.js:43
msgid "Switch backgrounds"
msgstr "Changer les arrière-plans"
msgstr "Permuter les arrière-plans"
#: src/preferences/Backgrounds.js:44
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:146
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:156
msgid "Day background"
msgstr "Arrière-plan diurne"
#: src/preferences/Backgrounds.js:45
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:151
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:161
msgid "Night background"
msgstr "Arrière-plan nocturne"
@@ -107,25 +107,25 @@ msgstr ""
"Vous pouvez définir des thèmes de curseurs diurnes et nocturnes différents."
#: src/preferences/CursorTheme.js:44
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:66
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:76
msgid "Switch cursor variants"
msgstr "Changer les variantes de curseur"
msgstr "Permuter les variantes de curseur"
#: src/preferences/CursorTheme.js:45 src/preferences/GtkTheme.js:45
#: src/preferences/IconTheme.js:45 src/preferences/ShellTheme.js:45
#: src/preferences/CursorTheme.js:45 src/preferences/GtkTheme.js:57
#: src/preferences/IconTheme.js:45 src/preferences/ShellTheme.js:57
msgid "Day variant"
msgstr "Variante diurne"
#: src/preferences/CursorTheme.js:46 src/preferences/GtkTheme.js:46
#: src/preferences/IconTheme.js:46 src/preferences/ShellTheme.js:46
#: src/preferences/CursorTheme.js:46 src/preferences/GtkTheme.js:64
#: src/preferences/IconTheme.js:46 src/preferences/ShellTheme.js:64
msgid "Night variant"
msgstr "Variante nocturne"
#: src/preferences/GtkTheme.js:40
#: src/preferences/GtkTheme.js:42
msgid "GTK theme"
msgstr "Thème GTK"
#: src/preferences/GtkTheme.js:41
#: src/preferences/GtkTheme.js:43
msgid ""
"The extension will try to automatically detect the day and night variants of "
"your GTK theme.\n"
@@ -142,7 +142,12 @@ msgstr ""
"\">ouvrir une demande</a>. Vous pouvez aussi sélectionner manuellement les "
"variantes."
#: src/preferences/GtkTheme.js:44 src/preferences/ShellTheme.js:44
#: src/preferences/GtkTheme.js:46
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:6
msgid "Switch GTK variants"
msgstr "Permuter les variantes GTK"
#: src/preferences/GtkTheme.js:48 src/preferences/ShellTheme.js:48
msgid "Manual variants"
msgstr "Variantes manuelles"
@@ -156,9 +161,9 @@ msgstr ""
"Vous pouvez définir des thèmes dicônes diurnes et nocturnes différents."
#: src/preferences/IconTheme.js:44
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:46
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:56
msgid "Switch icon variants"
msgstr "Changer les variantes dicônes"
msgstr "Permuter les variantes dicônes"
#: src/preferences/Schedule.js:39
msgid "Schedule"
@@ -184,7 +189,7 @@ msgid "Manual time source"
msgstr "Source dhoraires manuelle"
#: src/preferences/Schedule.js:44
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:92
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:102
msgid "Time source"
msgstr "Source dhoraires"
@@ -208,11 +213,11 @@ msgstr "Horaire manuel"
msgid "On-demand"
msgstr "À la demande"
#: src/preferences/ShellTheme.js:40
#: src/preferences/ShellTheme.js:42
msgid "Shell theme"
msgstr "Thème du shell"
#: src/preferences/ShellTheme.js:41
#: src/preferences/ShellTheme.js:43
msgid ""
"The extension will try to automatically detect the day and night variants of "
"your GNOME Shell theme.\n"
@@ -229,211 +234,227 @@ msgstr ""
"\">ouvrir une demande</a>. Vous pouvez aussi sélectionner manuellement les "
"variantes."
#: src/preferences/ShellTheme.js:78
#: src/preferences/ShellTheme.js:46
msgid "Switch Shell variants"
msgstr "Permuter les variantes Shell"
#: src/preferences/ShellTheme.js:121
msgid "Default"
msgstr "Par défaut"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:6
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:7
msgid "Enable GTK variants switching"
msgstr "Activer le changement de variantes GTK"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:11
msgid "Day GTK theme"
msgstr "Thème GTK diurne"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:7
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:12
msgid "The GTK theme to use during daytime"
msgstr "Le thème GTK à utiliser le jour"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:11
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:16
msgid "Night GTK theme"
msgstr "Thème GTK nocturne"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:12
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:17
msgid "The GTK theme to use during nighttime"
msgstr "Le thème GTK à utiliser la nuit"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:16
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:21
msgid "Original GTK theme"
msgstr "Thème GTK original"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:17
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:22
msgid "The GTK theme to restore when the extension is disabled"
msgstr "Le thème GTK à restaurer quand lextension est désactivée"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:21
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:26
msgid "Use manual GTK variants"
msgstr "Utiliser des variantes GTK manuelles"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:22
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:27
msgid "Disable automatic GTK theme variants detection"
msgstr "Désactiver la détection automatique des variantes du thème GTK"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:26
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:31
msgid "Switch shell variants"
msgstr "Permuter les variantes du shell"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:32
msgid "Enable shell variants switching"
msgstr "Activer le changement des variantes du shell"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:36
msgid "Day shell theme"
msgstr "Thème shell diurne"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:27
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:37
msgid "The shell theme to use during daytime"
msgstr "Le thème shell à utiliser le jour"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:31
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:41
msgid "Night shell theme"
msgstr "Thème shell nocturne"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:32
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:42
msgid "The shell theme to use during nighttime"
msgstr "Le thème shell à utiliser la nuit"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:36
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:46
msgid "Original shell theme"
msgstr "Thème shell original"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:37
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:47
msgid "The shell theme to restore when the extension is disabled"
msgstr "Le thème shell à restaurer quand lextension est désactivée"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:41
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:51
msgid "Use manual shell variants"
msgstr "Utiliser des variantes shell manuelles"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:42
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:52
msgid "Disable automatic shell theme variants detection"
msgstr "Désactiver la détection automatique des variantes du thème shell"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:47
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:57
msgid "Enable icon variants switching"
msgstr "Activer le changement de variantes dicônes"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:51
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:61
msgid "Day icon theme"
msgstr "Thème dicônes diurne"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:52
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:62
msgid "The icon theme to use during daytime"
msgstr "Le thème dicônes à utiliser le jour"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:56
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:66
msgid "Night icon theme"
msgstr "Thème dicônes nocturne"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:57
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:67
msgid "The icon theme to use during nighttime"
msgstr "Le thème dicônes à utiliser la nuit"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:61
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:71
msgid "Original icon theme"
msgstr "Thème dicônes original"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:62
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:72
msgid "The icon theme to restore when the extension is disabled"
msgstr "Le thème dicônes à restaurer quand lextension est désactivée"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:67
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:77
msgid "Enable cursor variants switching"
msgstr "Activer le changement de variantes de curseur"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:71
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:81
msgid "Day cursor theme"
msgstr "Thème de curseurs diurne"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:72
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:82
msgid "The cursor theme to use during daytime"
msgstr "Le thème de curseurs à utiliser le jour"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:76
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:86
msgid "Night cursor theme"
msgstr "Thème de curseurs nocturne"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:77
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:87
msgid "The cursor theme to use during nighttime"
msgstr "Le thème de curseurs à utiliser la nuit"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:81
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:91
msgid "Original cursor theme"
msgstr "Thème de curseurs original"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:82
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:92
msgid "The cursor theme to restore when the extension is disabled"
msgstr "Le thème de curseurs à restaurer quand lextension est désactivée"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:93
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:103
msgid "The source used to check current time"
msgstr "Source utilisée pour vérifier les horaires"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:101
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:111
msgid "On-demand time"
msgstr "Temps à la demande"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:102
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:112
msgid "The current time used in on-demand mode"
msgstr "Le temps actuel utilisé dans le mode à la demande"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:106
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:116
msgid "Key combination to toggle time"
msgstr "Combinaison de touches pour permuter le temps"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:107
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:117
msgid "The key combination that will toggle time in on-demand mode"
msgstr "La combinaison de touches qui permutera le temps en mode à la demande"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:111
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:121
msgid "Use manual time source"
msgstr "Utiliser une source dhoraires manuelle"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:112
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:122
msgid "Disable automatic time source detection"
msgstr "Désactive la détection automatique de la source dhoraires"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:116
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:126
msgid "Sunrise time"
msgstr "Heure du lever"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:117
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:127
msgid "When the day starts"
msgstr "Quand le jour se lève"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:121
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:131
msgid "Sunset time"
msgstr "Heure du coucher"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:122
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:132
msgid "When the day ends"
msgstr "Quand le jour se couche"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:126
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:136
msgid "Enable commands"
msgstr "Activer les commandes"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:127
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:137
msgid "Commands will be spawned on time change"
msgstr "Les commandes seront lancées au changement dhoraire"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:131
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:141
msgid "Sunrise command"
msgstr "Commande du lever de soleil"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:132
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:142
msgid "The command to spawn at sunrise"
msgstr "La commande à lancer quand le soleil se lève"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:136
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:146
msgid "Sunset command"
msgstr "Commande du coucher de soleil"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:137
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:147
msgid "The command to spawn at sunset"
msgstr "La commande à lancer quand le soleil se couche"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:141
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:151
msgid "Enable backgrounds"
msgstr "Activer les arrière-plans"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:142
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:152
msgid "Background will be changed on time change"
msgstr "Larrière-plan changera au changement dhoraire"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:147
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:157
msgid "Path to the day background"
msgstr "Chemin vers larrière-plan diurne"
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:152
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:162
msgid "Path to the night background"
msgstr "Chemin vers larrière-plan nocturne"
+98 -77
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Night Theme Switcher 30\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-15 10:10+0200\n"
"POT-Creation-Date: 2020-06-15 16:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,14 +17,14 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/modules/GtkThemer.js:152
#: src/modules/GtkThemer.js:175
#, javascript-format
msgid ""
"Unable to automatically detect the day and night variants for the \"%s\" GTK "
"theme. Please manually choose them in the extension's preferences."
msgstr ""
#: src/modules/ShellThemer.js:159
#: src/modules/ShellThemer.js:182
#, javascript-format
msgid ""
"Unable to automatically detect the day and night variants for the \"%s\" "
@@ -45,12 +45,12 @@ msgid "Switch backgrounds"
msgstr ""
#: src/preferences/Backgrounds.js:44
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:146
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:156
msgid "Day background"
msgstr ""
#: src/preferences/Backgrounds.js:45
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:151
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:161
msgid "Night background"
msgstr ""
@@ -97,25 +97,25 @@ msgid "You can set different cursor themes for day and night."
msgstr ""
#: src/preferences/CursorTheme.js:44
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:66
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:76
msgid "Switch cursor variants"
msgstr ""
#: src/preferences/CursorTheme.js:45 src/preferences/GtkTheme.js:45
#: src/preferences/IconTheme.js:45 src/preferences/ShellTheme.js:45
#: src/preferences/CursorTheme.js:45 src/preferences/GtkTheme.js:57
#: src/preferences/IconTheme.js:45 src/preferences/ShellTheme.js:57
msgid "Day variant"
msgstr ""
#: src/preferences/CursorTheme.js:46 src/preferences/GtkTheme.js:46
#: src/preferences/IconTheme.js:46 src/preferences/ShellTheme.js:46
#: src/preferences/CursorTheme.js:46 src/preferences/GtkTheme.js:64
#: src/preferences/IconTheme.js:46 src/preferences/ShellTheme.js:64
msgid "Night variant"
msgstr ""
#: src/preferences/GtkTheme.js:40
#: src/preferences/GtkTheme.js:42
msgid "GTK theme"
msgstr ""
#: src/preferences/GtkTheme.js:41
#: src/preferences/GtkTheme.js:43
msgid ""
"The extension will try to automatically detect the day and night variants of "
"your GTK theme.\n"
@@ -125,7 +125,12 @@ msgid ""
"a>. You can also manually set variants."
msgstr ""
#: src/preferences/GtkTheme.js:44 src/preferences/ShellTheme.js:44
#: src/preferences/GtkTheme.js:46
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:6
msgid "Switch GTK variants"
msgstr ""
#: src/preferences/GtkTheme.js:48 src/preferences/ShellTheme.js:48
msgid "Manual variants"
msgstr ""
@@ -138,7 +143,7 @@ msgid "You can set different icon themes for day and night."
msgstr ""
#: src/preferences/IconTheme.js:44
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:46
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:56
msgid "Switch icon variants"
msgstr ""
@@ -160,7 +165,7 @@ msgid "Manual time source"
msgstr ""
#: src/preferences/Schedule.js:44
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:92
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:102
msgid "Time source"
msgstr ""
@@ -184,11 +189,11 @@ msgstr ""
msgid "On-demand"
msgstr ""
#: src/preferences/ShellTheme.js:40
#: src/preferences/ShellTheme.js:42
msgid "Shell theme"
msgstr ""
#: src/preferences/ShellTheme.js:41
#: src/preferences/ShellTheme.js:43
msgid ""
"The extension will try to automatically detect the day and night variants of "
"your GNOME Shell theme.\n"
@@ -198,210 +203,226 @@ msgid ""
"a>. You can also manually set variants."
msgstr ""
#: src/preferences/ShellTheme.js:78
#: src/preferences/ShellTheme.js:46
msgid "Switch Shell variants"
msgstr ""
#: src/preferences/ShellTheme.js:121
msgid "Default"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:6
msgid "Day GTK theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:7
msgid "The GTK theme to use during daytime"
msgid "Enable GTK variants switching"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:11
msgid "Night GTK theme"
msgid "Day GTK theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:12
msgid "The GTK theme to use during nighttime"
msgid "The GTK theme to use during daytime"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:16
msgid "Original GTK theme"
msgid "Night GTK theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:17
msgid "The GTK theme to restore when the extension is disabled"
msgid "The GTK theme to use during nighttime"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:21
msgid "Use manual GTK variants"
msgid "Original GTK theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:22
msgid "Disable automatic GTK theme variants detection"
msgid "The GTK theme to restore when the extension is disabled"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:26
msgid "Day shell theme"
msgid "Use manual GTK variants"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:27
msgid "The shell theme to use during daytime"
msgid "Disable automatic GTK theme variants detection"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:31
msgid "Night shell theme"
msgid "Switch shell variants"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:32
msgid "The shell theme to use during nighttime"
msgid "Enable shell variants switching"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:36
msgid "Original shell theme"
msgid "Day shell theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:37
msgid "The shell theme to restore when the extension is disabled"
msgid "The shell theme to use during daytime"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:41
msgid "Use manual shell variants"
msgid "Night shell theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:42
msgid "Disable automatic shell theme variants detection"
msgid "The shell theme to use during nighttime"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:46
msgid "Original shell theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:47
msgid "Enable icon variants switching"
msgid "The shell theme to restore when the extension is disabled"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:51
msgid "Day icon theme"
msgid "Use manual shell variants"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:52
msgid "The icon theme to use during daytime"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:56
msgid "Night icon theme"
msgid "Disable automatic shell theme variants detection"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:57
msgid "The icon theme to use during nighttime"
msgid "Enable icon variants switching"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:61
msgid "Original icon theme"
msgid "Day icon theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:62
msgid "The icon theme to restore when the extension is disabled"
msgid "The icon theme to use during daytime"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:66
msgid "Night icon theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:67
msgid "Enable cursor variants switching"
msgid "The icon theme to use during nighttime"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:71
msgid "Day cursor theme"
msgid "Original icon theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:72
msgid "The cursor theme to use during daytime"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:76
msgid "Night cursor theme"
msgid "The icon theme to restore when the extension is disabled"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:77
msgid "The cursor theme to use during nighttime"
msgid "Enable cursor variants switching"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:81
msgid "Original cursor theme"
msgid "Day cursor theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:82
msgid "The cursor theme to use during daytime"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:86
msgid "Night cursor theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:87
msgid "The cursor theme to use during nighttime"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:91
msgid "Original cursor theme"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:92
msgid "The cursor theme to restore when the extension is disabled"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:93
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:103
msgid "The source used to check current time"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:101
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:111
msgid "On-demand time"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:102
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:112
msgid "The current time used in on-demand mode"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:106
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:116
msgid "Key combination to toggle time"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:107
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:117
msgid "The key combination that will toggle time in on-demand mode"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:111
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:121
msgid "Use manual time source"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:112
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:122
msgid "Disable automatic time source detection"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:116
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:126
msgid "Sunrise time"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:117
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:127
msgid "When the day starts"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:121
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:131
msgid "Sunset time"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:122
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:132
msgid "When the day ends"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:126
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:136
msgid "Enable commands"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:127
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:137
msgid "Commands will be spawned on time change"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:131
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:141
msgid "Sunrise command"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:132
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:142
msgid "The command to spawn at sunrise"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:136
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:146
msgid "Sunset command"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:137
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:147
msgid "The command to spawn at sunset"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:141
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:151
msgid "Enable backgrounds"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:142
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:152
msgid "Background will be changed on time change"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:147
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:157
msgid "Path to the day background"
msgstr ""
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:152
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:162
msgid "Path to the night background"
msgstr ""
+45 -9
View File
@@ -37,13 +37,36 @@ if ( shell_minor_version <= 30 ) {
var GtkThemePreferences = class {
constructor() {
const settings = extensionUtils.getSettings();
const label = _('GTK theme');
const description = _('The extension will try to automatically detect the day and night variants of your GTK theme.\n\nIf the theme you use isn\'t supported, please <a href="https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension/-/issues">submit a request</a>. You can also manually set variants.');
const content = new SettingsList();
content.add_row(new SettingsListRow(_('Manual variants'), new ManualGtkVariantsControl()));
content.add_row(new SettingsListRow(_('Day variant'), new TimeGtkVariantControl('day')));
content.add_row(new SettingsListRow(_('Night variant'), new TimeGtkVariantControl('night')));
content.add_row(new SettingsListRow(_('Switch GTK variants'), new GtkVariantsEnabledControl()));
const manual_variants_row = new SettingsListRow(_('Manual variants'), new ManualGtkVariantsControl());
settings.bind(
'gtk-variants-enabled',
manual_variants_row,
'sensitive',
Gio.SettingsBindFlags.DEFAULT
);
content.add_row(manual_variants_row);
const day_variant_row = new SettingsListRow(_('Day variant'), new TimeGtkVariantControl('day'));
const update_day_variant_row_sensitivity = () => day_variant_row.set_sensitive(!!(settings.get_boolean('gtk-variants-enabled') && settings.get_boolean('manual-gtk-variants')));
settings.connect('changed::gtk-variants-enabled', update_day_variant_row_sensitivity);
settings.connect('changed::manual-gtk-variants', update_day_variant_row_sensitivity)
update_day_variant_row_sensitivity();
content.add_row(day_variant_row);
const night_variant_row = new SettingsListRow(_('Night variant'), new TimeGtkVariantControl('night'));
const update_night_variant_row_sensitivity = () => night_variant_row.set_sensitive(!!(settings.get_boolean('gtk-variants-enabled') && settings.get_boolean('manual-gtk-variants')));
settings.connect('changed::gtk-variants-enabled', update_night_variant_row_sensitivity);
settings.connect('changed::manual-gtk-variants', update_night_variant_row_sensitivity)
update_night_variant_row_sensitivity();
content.add_row(night_variant_row);
return new SettingsPage(label, description, content);
}
@@ -51,6 +74,25 @@ var GtkThemePreferences = class {
}
class GtkVariantsEnabledControl {
constructor() {
const settings = extensionUtils.getSettings();
const toggle = new Gtk.Switch({
active: settings.get_boolean('gtk-variants-enabled')
});
settings.bind(
'gtk-variants-enabled',
toggle,
'active',
Gio.SettingsBindFlags.DEFAULT
);
return toggle;
}
}
class ManualGtkVariantsControl {
constructor() {
@@ -83,12 +125,6 @@ class TimeGtkVariantControl {
'active-id',
Gio.SettingsBindFlags.DEFAULT
);
settings.bind(
'manual-gtk-variants',
combo,
'sensitive',
Gio.SettingsBindFlags.DEFAULT
);
return combo;
}
+46 -9
View File
@@ -37,19 +37,62 @@ if ( shell_minor_version <= 30 ) {
var ShellThemePreferences = class {
constructor() {
const settings = extensionUtils.getSettings();
const label = _('Shell theme');
const description = _('The extension will try to automatically detect the day and night variants of your GNOME Shell theme.\n\nIf the theme you use isn\'t supported, please <a href="https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension/-/issues">submit a request</a>. You can also manually set variants.');
const content = new SettingsList();
content.add_row(new SettingsListRow(_('Manual variants'), new ManualShellVariantsControl()));
content.add_row(new SettingsListRow(_('Day variant'), new TimeShellVariantControl('day')));
content.add_row(new SettingsListRow(_('Night variant'), new TimeShellVariantControl('night')));
content.add_row(new SettingsListRow(_('Switch Shell variants'), new ShellVariantsEnabledControl()));
const manual_variants_row = new SettingsListRow(_('Manual variants'), new ManualShellVariantsControl());
settings.bind(
'shell-variants-enabled',
manual_variants_row,
'sensitive',
Gio.SettingsBindFlags.DEFAULT
);
content.add_row(manual_variants_row);
const day_variant_row = new SettingsListRow(_('Day variant'), new TimeShellVariantControl('day'));
const update_day_variant_row_sensitivity = () => day_variant_row.set_sensitive(!!(settings.get_boolean('shell-variants-enabled') && settings.get_boolean('manual-shell-variants')));
settings.connect('changed::shell-variants-enabled', update_day_variant_row_sensitivity);
settings.connect('changed::manual-shell-variants', update_day_variant_row_sensitivity)
update_day_variant_row_sensitivity();
content.add_row(day_variant_row);
const night_variant_row = new SettingsListRow(_('Night variant'), new TimeShellVariantControl('night'));
const update_night_variant_row_sensitivity = () => night_variant_row.set_sensitive(!!(settings.get_boolean('shell-variants-enabled') && settings.get_boolean('manual-shell-variants')));
settings.connect('changed::shell-variants-enabled', update_night_variant_row_sensitivity);
settings.connect('changed::manual-shell-variants', update_night_variant_row_sensitivity)
update_night_variant_row_sensitivity();
content.add_row(night_variant_row);
return new SettingsPage(label, description, content);
}
}
class ShellVariantsEnabledControl {
constructor() {
const settings = extensionUtils.getSettings();
const toggle = new Gtk.Switch({
active: settings.get_boolean('shell-variants-enabled')
});
settings.bind(
'shell-variants-enabled',
toggle,
'active',
Gio.SettingsBindFlags.DEFAULT
);
return toggle;
}
}
class ManualShellVariantsControl {
constructor() {
@@ -82,12 +125,6 @@ class TimeShellVariantControl {
'active-id',
Gio.SettingsBindFlags.DEFAULT
);
settings.bind(
'manual-shell-variants',
combo,
'sensitive',
Gio.SettingsBindFlags.DEFAULT
);
return combo;
}
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="nightthemeswitcher@romainvigier.fr">
<schema id="org.gnome.shell.extensions.nightthemeswitcher" path="/org/gnome/shell/extensions/nightthemeswitcher/">
<key name="gtk-variants-enabled" type="b">
<default>true</default>
<summary>Switch GTK variants</summary>
<description>Enable GTK variants switching</description>
</key>
<key name="gtk-variant-day" type="s">
<default>"Adwaita"</default>
<summary>Day GTK theme</summary>
@@ -21,6 +26,11 @@
<summary>Use manual GTK variants</summary>
<description>Disable automatic GTK theme variants detection</description>
</key>
<key name="shell-variants-enabled" type="b">
<default>true</default>
<summary>Switch shell variants</summary>
<description>Enable shell variants switching</description>
</key>
<key name="shell-variant-day" type="s">
<default>""</default>
<summary>Day shell theme</summary>