diff --git a/src/data/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml b/src/data/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml index 61c808b..3fc6457 100644 --- a/src/data/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml +++ b/src/data/org.gnome.shell.extensions.nightthemeswitcher.gschema.xml @@ -73,6 +73,9 @@ SPDX-License-Identifier: GPL-3.0-or-later t']]]> + + true + false diff --git a/src/data/ui/SchedulePage.ui b/src/data/ui/SchedulePage.ui index b4d0cb5..321d3b3 100644 --- a/src/data/ui/SchedulePage.ui +++ b/src/data/ui/SchedulePage.ui @@ -48,6 +48,15 @@ SPDX-License-Identifier: GPL-3.0-or-later + + + + + Run the transition when an app is fullscreen + + + + diff --git a/src/modules/Timer.js b/src/modules/Timer.js index 4ee721e..73e189f 100644 --- a/src/modules/Timer.js +++ b/src/modules/Timer.js @@ -123,7 +123,9 @@ export class Timer extends GObject.Object { debug.message(manual ? `Time manually set to ${time}.` : `Time changed to ${time}.`); - layoutManager.screenTransition.run(); + const isMonitorFullscreen = layoutManager.monitors.some(monitor => monitor.inFullscreen); + if (this.#settings.get_boolean('fullscreen-transition') || !isMonitorFullscreen) + layoutManager.screenTransition.run(); this.notify('time'); } diff --git a/src/preferences/SchedulePage.js b/src/preferences/SchedulePage.js index 4e1ee8c..8b3cd7c 100644 --- a/src/preferences/SchedulePage.js +++ b/src/preferences/SchedulePage.js @@ -16,6 +16,7 @@ export class SchedulePage extends Adw.PreferencesPage { 'keyboard_shortcut_button', 'schedule_sunrise_time_chooser', 'schedule_sunset_time_chooser', + 'fullscreen_transition_switch', ], }, this); } @@ -28,6 +29,8 @@ export class SchedulePage extends Adw.PreferencesPage { settings.bind('sunrise', this._schedule_sunrise_time_chooser, 'time', Gio.SettingsBindFlags.DEFAULT); settings.bind('sunset', this._schedule_sunset_time_chooser, 'time', Gio.SettingsBindFlags.DEFAULT); + settings.bind('fullscreen-transition', this._fullscreen_transition_switch, 'active', Gio.SettingsBindFlags.DEFAULT); + settings.connect('changed::nightthemeswitcher-ondemand-keybinding', () => { this._keyboard_shortcut_button.keybinding = settings.get_strv('nightthemeswitcher-ondemand-keybinding')[0]; }); diff --git a/src/prefs.js b/src/prefs.js index 355780d..53f82e8 100644 --- a/src/prefs.js +++ b/src/prefs.js @@ -30,7 +30,7 @@ export default class NightThemeSwitcherPreferences extends ExtensionPreferences // Set window properties window.search_enabled = true; - window.set_default_size(640, 600); + window.set_default_size(640, 680); // Add a dummy page until the dynamics imports are done const dummyPage = new Adw.PreferencesPage();