mutter/gnome-shell-43.0/debian/patches/ubuntu/lock_on_suspend.patch
2023-02-23 22:01:49 +02:00

49 lines
2.3 KiB
Diff

From: Tim Lunn <tim@feathertop.org>
Date: Wed, 20 Jun 2018 19:22:06 +0200
Subject: add support for the ubuntu lock on suspend option
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1063110
---
js/ui/screenShield.js | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index 325fbff..1cc5cb7 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -22,6 +22,7 @@ const { adjustAnimationTime } = imports.ui.environment;
const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
const LOCK_ENABLED_KEY = 'lock-enabled';
const LOCK_DELAY_KEY = 'lock-delay';
+const SUSPEND_LOCK_ENABLED_KEY = 'ubuntu-lock-on-suspend';
const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
const DISABLE_LOCK_KEY = 'disable-lock-screen';
@@ -110,6 +111,7 @@ var ScreenShield = class extends Signals.EventEmitter {
this._settings = new Gio.Settings({ schema_id: SCREENSAVER_SCHEMA });
this._settings.connect(`changed::${LOCK_ENABLED_KEY}`, this._syncInhibitor.bind(this));
+ this._settings.connect(`changed::${SUSPEND_LOCK_ENABLED_KEY}`, this._syncInhibitor.bind(this));
this._lockSettings = new Gio.Settings({ schema_id: LOCKDOWN_SCHEMA });
this._lockSettings.connect(`changed::${DISABLE_LOCK_KEY}`, this._syncInhibitor.bind(this));
@@ -215,7 +217,8 @@ var ScreenShield = class extends Signals.EventEmitter {
}
async _syncInhibitor() {
- const lockEnabled = this._settings.get_boolean(LOCK_ENABLED_KEY);
+ const lockEnabled = this._settings.get_boolean(LOCK_ENABLED_KEY) ||
+ this._settings.get_boolean(SUSPEND_LOCK_ENABLED_KEY);
const lockLocked = this._lockSettings.get_boolean(DISABLE_LOCK_KEY);
const inhibit = !!this._loginSession && this._loginSession.Active &&
!this._isActive && lockEnabled && !lockLocked &&
@@ -246,7 +249,7 @@ var ScreenShield = class extends Signals.EventEmitter {
_prepareForSleep(loginManager, aboutToSuspend) {
if (aboutToSuspend) {
- if (this._settings.get_boolean(LOCK_ENABLED_KEY))
+ if (this._settings.get_boolean(SUSPEND_LOCK_ENABLED_KEY))
this.lock(true);
} else {
this._wakeUpScreen();