Extension: Add setting to disable transition when an app is fullscreen

This commit is contained in:
Romain Vigier
2024-03-04 15:17:43 +00:00
parent 97e16b7481
commit bd885e1efa
5 changed files with 19 additions and 2 deletions
@@ -73,6 +73,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
<key name="nightthemeswitcher-ondemand-keybinding" type="as">
<default><![CDATA[['<Shift><Super>t']]]></default>
</key>
<key name="fullscreen-transition" type="b">
<default>true</default>
</key>
<key name="manual-schedule" type="b">
<default>false</default>
</key>
+9
View File
@@ -48,6 +48,15 @@ SPDX-License-Identifier: GPL-3.0-or-later
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<child>
<object class="AdwSwitchRow" id="fullscreen_transition_switch">
<property name="title" translatable="yes">Run the transition when an app is fullscreen</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<child>
+3 -1
View File
@@ -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');
}
+3
View File
@@ -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];
});
+1 -1
View File
@@ -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();