diff --git a/src/modules/TimerNightlight.js b/src/modules/TimerNightlight.js
index 426a4ed..5de1e19 100644
--- a/src/modules/TimerNightlight.js
+++ b/src/modules/TimerNightlight.js
@@ -22,12 +22,14 @@ const Signals = imports.signals;
const Me = extensionUtils.getCurrentExtension();
+const e = Me.imports.extension;
const { logDebug } = Me.imports.utils;
const COLOR_INTERFACE = `
+
`;
@@ -43,12 +45,15 @@ var TimerNightlight = class {
constructor() {
this._colorDbusProxy = null;
+ this._nightlightFollowDisableConnect = null;
this._nightlightStateConnect = null;
+ this._previousNightlightActive = null;
}
enable() {
logDebug('Enabling Night Light Timer...');
this._connectToColorDbusProxy();
+ this._connectSettings();
this._listenToNightlightState();
this.emit('time-changed', this.time);
logDebug('Night Light Timer enabled.');
@@ -57,6 +62,7 @@ var TimerNightlight = class {
disable() {
logDebug('Disabling Night Light Timer...');
this._stopListeningToNightlightState();
+ this._disconnectSettings();
this._disconnectFromColorDbusProxy();
logDebug('Night Light Timer disabled.');
}
@@ -84,6 +90,19 @@ var TimerNightlight = class {
logDebug('Disconnected from Color DBus proxy.');
}
+ _connectSettings() {
+ logDebug('Connecting Night Light Timer to settings...');
+ this._nightlightFollowDisableConnect = e.settings.time.connect('nightlight-follow-disable-changed', this._onNightlightFollowDisableChanged.bind(this));
+ }
+
+ _disconnectSettings() {
+ logDebug('Disconnecting Night Light Timer from settings...');
+ if (this._nightlightFollowDisableConnect) {
+ e.settings.time.disconnect(this._nightlightFollowDisableConnect);
+ this._nightlightFollowDisableConnect = null;
+ }
+ }
+
_listenToNightlightState() {
logDebug('Listening to Night Light state...');
this._nightlightStateConnect = this._colorDbusProxy.connect(
@@ -97,16 +116,24 @@ var TimerNightlight = class {
logDebug('Stopped listening to Night Light state.');
}
- _onNightlightStateChanged(_sender, dbusProperties) {
- const properties = dbusProperties.deep_unpack();
- if (properties.NightLightActive) {
- logDebug(`Night Light has become ${properties.NightLightActive.unpack() ? '' : 'in'}active.`);
+
+ _onNightlightFollowDisableChanged(_settings, _value) {
+ this._onNightlightStateChanged();
+ }
+
+ _onNightlightStateChanged(_sender, _dbusProperties) {
+ if (this._isNightlightActive() !== this._previousNightlightActive) {
+ logDebug(`Night Light has become ${this._isNightlightActive() ? '' : 'in'}active.`);
+ this._previousNightlightActive = this._isNightlightActive();
this.emit('time-changed', this.time);
}
}
+
_isNightlightActive() {
- return this._colorDbusProxy.NightLightActive;
+ return e.settings.time.nightlightFollowDisable
+ ? !this._colorDbusProxy.DisabledUntilTomorrow && this._colorDbusProxy.NightLightActive
+ : this._colorDbusProxy.NightLightActive;
}
};
diff --git a/src/po/fr.po b/src/po/fr.po
index 25d4c69..4e3dbd6 100644
--- a/src/po/fr.po
+++ b/src/po/fr.po
@@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Night Theme Switcher 7\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-24 13:12+0200\n"
-"PO-Revision-Date: 2020-09-23 20:13+0200\n"
+"POT-Creation-Date: 2020-11-04 11:00+0100\n"
+"PO-Revision-Date: 2020-11-04 11:02+0100\n"
"Last-Translator: Romain Vigier \n"
-"Language-Team: French - France \n"
-"Language: fr_FR\n"
+"Language-Team: French \n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"X-Generator: Gtranslator 3.36.0\n"
+"X-Generator: Gtranslator 3.38.0\n"
#: src/modules/GtkThemer.js:179
#, javascript-format
@@ -39,11 +39,11 @@ msgstr ""
"pour le thème GNOME Shell \"%s\". Veuillez les sélectionner manuellement "
"dans les préférences de l’extension."
-#: src/modules/TimerOndemand.js:167
+#: src/modules/TimerOndemand.js:185
msgid "Switch to night theme"
msgstr "Passer au thème nocturne"
-#: src/modules/TimerOndemand.js:167
+#: src/modules/TimerOndemand.js:185
msgid "Switch to day theme"
msgstr "Passer au thème diurne"
@@ -73,7 +73,7 @@ msgstr "Thème d’icônes"
msgid "Schedule"
msgstr "Horaires"
-#: src/preferences/Schedule.js:193 src/preferences/ui/schedule.ui:595
+#: src/preferences/Schedule.js:204 src/preferences/ui/schedule.ui:741
msgid "Choose"
msgstr "Choisir"
@@ -310,62 +310,72 @@ msgstr "Source d’horaires"
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:140
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:136
+msgid "Follow Night Light \"Disable until tomorrow\""
+msgstr "Suivre \"Désactivé jusqu’à demain\" du mode nuit"
+
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:137
+msgid "Switch back to day time when Night Light is temporarily disabled"
+msgstr ""
+"Permuter vers les variantes diurnes lorsque le mode nuit est désactivé "
+"temporairement"
+
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:145
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:91
msgid "On-demand time"
msgstr "Temps à la demande"
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:141
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:146
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:92
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:145
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:150
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:96
msgid "Key combination to toggle time"
msgstr "Combinaison de touches pour permuter le temps"
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:146
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:151
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:97
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:155
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:160
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:106
msgid "On-demand button placement"
msgstr "Emplacement du bouton à la demande"
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:156
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:161
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:107
msgid "Where the on-demand button will be placed"
msgstr "Où le bouton du changement à la demande sera placé"
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:160
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:165
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:111
msgid "Use manual time source"
msgstr "Utiliser une source d’horaires manuelle"
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:161
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:166
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:112
msgid "Disable automatic time source detection"
msgstr "Désactive la détection automatique de la source d’horaires"
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:165
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:170
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:116
msgid "Sunrise time"
msgstr "Heure du lever"
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:166
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:171
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:117
msgid "When the day starts"
msgstr "Quand le jour se lève"
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:170
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:175
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:121
msgid "Sunset time"
msgstr "Heure du coucher"
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:171
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:176
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:122
msgid "When the day ends"
msgstr "Quand le jour se couche"
@@ -380,7 +390,7 @@ msgstr "Sélectionnez votre image d’arrière-plan"
#: src/preferences/ui/backgrounds.ui:220 src/preferences/ui/backgrounds.ui:312
#: src/preferences/ui/commands.ui:206 src/preferences/ui/commands.ui:300
-#: src/preferences/ui/schedule.ui:610
+#: src/preferences/ui/schedule.ui:756
msgid "Clear"
msgstr "Effacer"
@@ -441,7 +451,7 @@ msgid "Press your keyboard shortcut..."
msgstr "Pressez votre raccourci clavier…"
#: src/preferences/ui/ondemand_keyboard_shortcut_dialog.ui:76
-#: src/preferences/ui/schedule.ui:581
+#: src/preferences/ui/schedule.ui:727
msgid "Keyboard shortcut"
msgstr "Raccourci clavier"
@@ -449,11 +459,11 @@ msgstr "Raccourci clavier"
msgid "Cancel"
msgstr "Annuler"
-#: src/preferences/ui/schedule.ui:82
+#: src/preferences/ui/schedule.ui:98
msgid "Automatic time source"
msgstr "Source d’horaires automatique"
-#: src/preferences/ui/schedule.ui:95
+#: src/preferences/ui/schedule.ui:111
msgid ""
"The extension will try to use Night Light or Location Services to "
"automatically set your current sunrise and sunset times if they are enabled. "
@@ -464,60 +474,73 @@ msgstr ""
"lever et de coucher du soleil. Si vous préférez, vous pouvez choisir "
"manuellement une source d’horaires."
-#: src/preferences/ui/schedule.ui:158
+#: src/preferences/ui/schedule.ui:174
msgid "Manual time source"
msgstr "Source d’horaires manuelle"
-#: src/preferences/ui/schedule.ui:178
+#: src/preferences/ui/schedule.ui:194 src/preferences/ui/schedule.ui:300
+#: src/preferences/ui/schedule.ui:416
msgid "Night Light"
msgstr "Mode nuit"
-#: src/preferences/ui/schedule.ui:193
+#: src/preferences/ui/schedule.ui:209
msgid "Location Services"
msgstr "Services de localisation"
-#: src/preferences/ui/schedule.ui:208
+#: src/preferences/ui/schedule.ui:224
msgid "Manual schedule"
msgstr "Horaire manuel"
-#: src/preferences/ui/schedule.ui:223 src/preferences/ui/schedule.ui:539
-#: src/preferences/ui/schedule.ui:719
+#: src/preferences/ui/schedule.ui:239 src/preferences/ui/schedule.ui:685
+#: src/preferences/ui/schedule.ui:865
msgid "On-demand"
msgstr "À la demande"
-#: src/preferences/ui/schedule.ui:271
+#: src/preferences/ui/schedule.ui:287
msgid "No preferences"
msgstr "Pas de préférences"
-#: src/preferences/ui/schedule.ui:286 src/preferences/ui/schedule.ui:523
+#: src/preferences/ui/schedule.ui:348
+msgid "Follow Disable until tomorrow"
+msgstr "Suivre Désactiver jusqu’à demain"
+
+#: src/preferences/ui/schedule.ui:362
+msgid ""
+"When Night Light is temporarily disabled, the extension will switch "
+"to day variants."
+msgstr ""
+"Quand le mode nuit est temporairement désactivé, l’extension va "
+"permuter vers les variantes diurnes."
+
+#: src/preferences/ui/schedule.ui:432 src/preferences/ui/schedule.ui:669
msgid "Manual schedule times"
msgstr "Horaires manuels"
-#: src/preferences/ui/schedule.ui:328
+#: src/preferences/ui/schedule.ui:474
msgid "Sunrise"
msgstr "Lever du soleil"
-#: src/preferences/ui/schedule.ui:364 src/preferences/ui/schedule.ui:471
+#: src/preferences/ui/schedule.ui:510 src/preferences/ui/schedule.ui:617
msgid ":"
msgstr ":"
-#: src/preferences/ui/schedule.ui:435
+#: src/preferences/ui/schedule.ui:581
msgid "Sunset"
msgstr "Coucher du soleil"
-#: src/preferences/ui/schedule.ui:673
+#: src/preferences/ui/schedule.ui:819
msgid "Button location"
msgstr "Emplacement du bouton"
-#: src/preferences/ui/schedule.ui:689
+#: src/preferences/ui/schedule.ui:835
msgid "None"
msgstr "Aucun"
-#: src/preferences/ui/schedule.ui:690
+#: src/preferences/ui/schedule.ui:836
msgid "Top bar"
msgstr "Barre supérieure"
-#: src/preferences/ui/schedule.ui:691
+#: src/preferences/ui/schedule.ui:837
msgid "System menu"
msgstr "Menu système"
diff --git a/src/po/nightthemeswitcher@romainvigier.fr.pot b/src/po/nightthemeswitcher@romainvigier.fr.pot
index 28a47eb..fedf406 100644
--- a/src/po/nightthemeswitcher@romainvigier.fr.pot
+++ b/src/po/nightthemeswitcher@romainvigier.fr.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: Night Theme Switcher 37\n"
+"Project-Id-Version: Night Theme Switcher 39\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-24 13:12+0200\n"
+"POT-Creation-Date: 2020-11-04 11:00+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -32,11 +32,11 @@ msgid ""
"preferences."
msgstr ""
-#: src/modules/TimerOndemand.js:167
+#: src/modules/TimerOndemand.js:185
msgid "Switch to night theme"
msgstr ""
-#: src/modules/TimerOndemand.js:167
+#: src/modules/TimerOndemand.js:185
msgid "Switch to day theme"
msgstr ""
@@ -66,7 +66,7 @@ msgstr ""
msgid "Schedule"
msgstr ""
-#: src/preferences/Schedule.js:193 src/preferences/ui/schedule.ui:595
+#: src/preferences/Schedule.js:204 src/preferences/ui/schedule.ui:741
msgid "Choose"
msgstr ""
@@ -303,62 +303,70 @@ msgstr ""
msgid "The source used to check current time"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:140
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:136
+msgid "Follow Night Light \"Disable until tomorrow\""
+msgstr ""
+
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:137
+msgid "Switch back to day time when Night Light is temporarily disabled"
+msgstr ""
+
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:145
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:91
msgid "On-demand time"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:141
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:146
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:92
msgid "The current time used in on-demand mode"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:145
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:150
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:96
msgid "Key combination to toggle time"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:146
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:151
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:97
msgid "The key combination that will toggle time in on-demand mode"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:155
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:160
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:106
msgid "On-demand button placement"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:156
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:161
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:107
msgid "Where the on-demand button will be placed"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:160
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:165
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:111
msgid "Use manual time source"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:161
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:166
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:112
msgid "Disable automatic time source detection"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:165
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:170
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:116
msgid "Sunrise time"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:166
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:171
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:117
msgid "When the day starts"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:170
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:175
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:121
msgid "Sunset time"
msgstr ""
-#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:171
+#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml:176
#: src/schemas/org.gnome.shell.extensions.nightthemeswitcher.v0.gschema.xml:122
msgid "When the day ends"
msgstr ""
@@ -373,7 +381,7 @@ msgstr ""
#: src/preferences/ui/backgrounds.ui:220 src/preferences/ui/backgrounds.ui:312
#: src/preferences/ui/commands.ui:206 src/preferences/ui/commands.ui:300
-#: src/preferences/ui/schedule.ui:610
+#: src/preferences/ui/schedule.ui:756
msgid "Clear"
msgstr ""
@@ -427,7 +435,7 @@ msgid "Press your keyboard shortcut..."
msgstr ""
#: src/preferences/ui/ondemand_keyboard_shortcut_dialog.ui:76
-#: src/preferences/ui/schedule.ui:581
+#: src/preferences/ui/schedule.ui:727
msgid "Keyboard shortcut"
msgstr ""
@@ -435,71 +443,82 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: src/preferences/ui/schedule.ui:82
+#: src/preferences/ui/schedule.ui:98
msgid "Automatic time source"
msgstr ""
-#: src/preferences/ui/schedule.ui:95
+#: src/preferences/ui/schedule.ui:111
msgid ""
"The extension will try to use Night Light or Location Services to "
"automatically set your current sunrise and sunset times if they are enabled. "
"If you prefer, you can manually choose a time source."
msgstr ""
-#: src/preferences/ui/schedule.ui:158
+#: src/preferences/ui/schedule.ui:174
msgid "Manual time source"
msgstr ""
-#: src/preferences/ui/schedule.ui:178
+#: src/preferences/ui/schedule.ui:194 src/preferences/ui/schedule.ui:300
+#: src/preferences/ui/schedule.ui:416
msgid "Night Light"
msgstr ""
-#: src/preferences/ui/schedule.ui:193
+#: src/preferences/ui/schedule.ui:209
msgid "Location Services"
msgstr ""
-#: src/preferences/ui/schedule.ui:208
+#: src/preferences/ui/schedule.ui:224
msgid "Manual schedule"
msgstr ""
-#: src/preferences/ui/schedule.ui:223 src/preferences/ui/schedule.ui:539
-#: src/preferences/ui/schedule.ui:719
+#: src/preferences/ui/schedule.ui:239 src/preferences/ui/schedule.ui:685
+#: src/preferences/ui/schedule.ui:865
msgid "On-demand"
msgstr ""
-#: src/preferences/ui/schedule.ui:271
+#: src/preferences/ui/schedule.ui:287
msgid "No preferences"
msgstr ""
-#: src/preferences/ui/schedule.ui:286 src/preferences/ui/schedule.ui:523
+#: src/preferences/ui/schedule.ui:348
+msgid "Follow Disable until tomorrow"
+msgstr ""
+
+#: src/preferences/ui/schedule.ui:362
+msgid ""
+"When Night Light is temporarily disabled, the extension will switch "
+"to day variants."
+msgstr ""
+
+#: src/preferences/ui/schedule.ui:432 src/preferences/ui/schedule.ui:669
msgid "Manual schedule times"
msgstr ""
-#: src/preferences/ui/schedule.ui:328
+#: src/preferences/ui/schedule.ui:474
msgid "Sunrise"
msgstr ""
-#: src/preferences/ui/schedule.ui:364 src/preferences/ui/schedule.ui:471
+#: src/preferences/ui/schedule.ui:510 src/preferences/ui/schedule.ui:617
msgid ":"
msgstr ""
-#: src/preferences/ui/schedule.ui:435
+#: src/preferences/ui/schedule.ui:581
msgid "Sunset"
msgstr ""
-#: src/preferences/ui/schedule.ui:673
+#: src/preferences/ui/schedule.ui:819
msgid "Button location"
msgstr ""
-#: src/preferences/ui/schedule.ui:689
+#: src/preferences/ui/schedule.ui:835
msgid "None"
msgstr ""
-#: src/preferences/ui/schedule.ui:690
+#: src/preferences/ui/schedule.ui:836
msgid "Top bar"
msgstr ""
-#: src/preferences/ui/schedule.ui:691
+#: src/preferences/ui/schedule.ui:837
msgid "System menu"
msgstr ""
diff --git a/src/preferences/Schedule.js b/src/preferences/Schedule.js
index 418f29a..16e681f 100644
--- a/src/preferences/Schedule.js
+++ b/src/preferences/Schedule.js
@@ -116,6 +116,9 @@ var SchedulePreferences = class {
const manualPrefsStack = this._builder.get_object('manual_prefs_stack');
const updateManualPrefsStackVisible = () => {
switch (settings.time.timeSource) {
+ case 'nightlight':
+ manualPrefsStack.set_visible_child_name('nightlight');
+ break;
case 'schedule':
manualPrefsStack.set_visible_child_name('schedule_times');
break;
@@ -129,6 +132,14 @@ var SchedulePreferences = class {
settings.time.connect('time-source-changed', () => updateManualPrefsStackVisible());
updateManualPrefsStackVisible();
+ const nightlightFollowDisableSwitch = this._builder.get_object('nightlight_follow_disable_switch');
+ settings.time.settings.bind(
+ 'nightlight-follow-disable',
+ nightlightFollowDisableSwitch,
+ 'active',
+ Gio.SettingsBindFlags.DEFAULT
+ );
+
const scheduleTimesSunriseHoursSpin = this._builder.get_object('schedule_times_sunrise_hours_spin');
scheduleTimesSunriseHoursSpin.value = Math.trunc(settings.time.scheduleSunrise);
scheduleTimesSunriseHoursSpin.connect('output', () => {
diff --git a/src/preferences/ui/schedule.ui b/src/preferences/ui/schedule.ui
index 2974459..49b8206 100644
--- a/src/preferences/ui/schedule.ui
+++ b/src/preferences/ui/schedule.ui
@@ -1,5 +1,5 @@
-
+
+
+
+
+
+ nightlight
+ Night Light
+ 1
+
+
+
+
+ 600
+ True
+ False
vertical
8
True
- False
+ False
start
Manual schedule times
@@ -297,34 +443,34 @@ Author: Romain Vigier
True
- False
- 0
+ False
+ 0
- 600
+ 600
True
- False
- none
+ False
+ none
True
- True
+ True
False
True
- False
- 16
- 16
- 16
- 16
- 16
- 16
+ False
+ 16
+ 16
+ 16
+ 16
+ 16
+ 16
30
True
- False
+ False
Sunrise
@@ -336,15 +482,15 @@ Author: Romain Vigier
True
- False
+ False
end
8
True
- True
- 2
- 2
+ True
+ 2
+ 2
0
vertical
sunrise_hours_adjustment
@@ -360,7 +506,7 @@ Author: Romain Vigier
True
- False
+ False
:
@@ -372,9 +518,9 @@ Author: Romain Vigier
True
- True
- 2
- 2
+ True
+ 2
+ 2
0
vertical
sunrise_minutes_adjustment
@@ -401,13 +547,13 @@ Author: Romain Vigier
True
- True
+ True
False
False
True
- False
+ False
@@ -415,23 +561,23 @@ Author: Romain Vigier
True
- True
+ True
False
True
- False
- 16
- 16
- 16
- 16
- 16
- 16
+ False
+ 16
+ 16
+ 16
+ 16
+ 16
+ 16
30
True
- False
+ False
Sunset
@@ -443,15 +589,15 @@ Author: Romain Vigier
True
- False
+ False
end
8
True
- True
- 2
- 2
+ True
+ 2
+ 2
0
vertical
sunset_hours_adjustment
@@ -467,7 +613,7 @@ Author: Romain Vigier
True
- False
+ False
:
@@ -479,9 +625,9 @@ Author: Romain Vigier
True
- True
- 2
- 2
+ True
+ 2
+ 2
0
vertical
sunset_minutes_adjustment
@@ -521,20 +667,20 @@ Author: Romain Vigier
schedule_times
Manual schedule times
- 1
+ 2
- 600
+ 600
True
- False
+ False
vertical
8
True
- False
+ False
start
On-demand
@@ -550,34 +696,34 @@ Author: Romain Vigier
True
- False
- 0
+ False
+ 0
- 600
+ 600
True
- False
- none
+ False
+ none
True
- True
+ True
False
True
- False
- 16
- 16
- 16
- 16
- 16
- 16
+ False
+ 16
+ 16
+ 16
+ 16
+ 16
+ 16
30
True
- False
+ False
Keyboard shortcut
@@ -589,13 +735,13 @@ Author: Romain Vigier
True
- False
+ False
Choose
True
- True
- True
+ True
+ True
end
center
@@ -609,8 +755,8 @@ Author: Romain Vigier
Clear
True
- True
- True
+ True
+ True
@@ -628,7 +774,7 @@ Author: Romain Vigier
False
False
- end
+ end
1
@@ -639,13 +785,13 @@ Author: Romain Vigier
True
- True
+ True
False
False
True
- False
+ False
@@ -653,23 +799,23 @@ Author: Romain Vigier
True
- True
+ True
False
True
- False
- 16
- 16
- 16
- 16
- 16
- 16
+ False
+ 16
+ 16
+ 16
+ 16
+ 16
+ 16
30
True
- False
+ False
Button location
@@ -681,10 +827,10 @@ Author: Romain Vigier
True
- False
+ False
end
1
- panel
+ panel
- None
- Top bar
@@ -717,7 +863,7 @@ Author: Romain Vigier
ondemand
On-demand
- 2
+ 3
@@ -728,20 +874,4 @@ Author: Romain Vigier
-
- 23
- 1
-
-
- 59
- 1
-
-
- 23
- 1
-
-
- 59
- 1
-
diff --git a/src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml b/src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml
index abee720..932d17d 100644
--- a/src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml
+++ b/src/schemas/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml
@@ -131,6 +131,11 @@
Time source
The source used to check current time
+
+ false
+ Follow Night Light "Disable until tomorrow"
+ Switch back to day time when Night Light is temporarily disabled
+
diff --git a/src/settings/Time.js b/src/settings/Time.js
index 41c5fcb..6c17941 100644
--- a/src/settings/Time.js
+++ b/src/settings/Time.js
@@ -37,6 +37,7 @@ var TimeSettings = class {
logDebug('Connecting time settings signals...');
this._timeSourceChangedConnect = this.settings.connect('changed::time-source', this._onTimeSourceChanged.bind(this));
this._manualTimeSourceChangedConnect = this.settings.connect('changed::manual-time-source', this._onManualTimeSourceChanged.bind(this));
+ this._nightlightFollowDisableConnect = this.settings.connect('changed::nightlight-follow-disable', this._onNightlightFollowDisableChanged.bind(this));
this._ondemandKeybindingChangedConnect = this.settings.connect('changed::nightthemeswitcher-ondemand-keybinding', this._onOndemandKeybindingChanged.bind(this));
this._ondemandButtonPlacementChangedConnect = this.settings.connect('changed::ondemand-button-placement', this._onOndemandButtonPlacementChanged.bind(this));
logDebug('System time signals connected.');
@@ -46,6 +47,7 @@ var TimeSettings = class {
logDebug('Disconnecting time settings signals...');
this.settings.disconnect(this._timeSourceChangedConnect);
this.settings.disconnect(this._manualTimeSourceChangedConnect);
+ this.settings.disconnect(this._nightlightFollowDisableConnect);
this.settings.disconnect(this._ondemandKeybindingChangedConnect);
this.settings.disconnect(this._ondemandButtonPlacementChangedConnect);
logDebug('Time settings signals disconnected.');
@@ -72,6 +74,15 @@ var TimeSettings = class {
this.settings.set_boolean('manual-time-source', value);
}
+ get nightlightFollowDisable() {
+ return this.settings.get_boolean('nightlight-follow-disable');
+ }
+
+ set nightlightFollowDisable(value) {
+ if (value !== this.nightlightFollowDisable)
+ this.settings.set_boolean('nightlight-follow-disable', value);
+ }
+
get ondemandTime() {
return this.settings.get_string('ondemand-time');
}
@@ -129,6 +140,11 @@ var TimeSettings = class {
this.emit('manual-time-source-changed', this.manualTimeSource);
}
+ _onNightlightFollowDisableChanged(_settings, _changedKey) {
+ logDebug(`Follow Night Light "Disable unti tomorrow" has been ${this.nightlightFollowDisable ? 'ena' : 'disa'}bled.`);
+ this.emit('nightlight-follow-disable-changed', this.nightlightFollowDisable);
+ }
+
_onOndemandKeybindingChanged(_settings, _changedKey) {
if (this.ondemandKeybinding)
logDebug(`On-demand keybinding has changed to ${this.ondemandKeybinding}.`);