From 7149da3f4f24ffaf25068c6ae1529acaa11ec539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Fri, 4 Oct 2019 09:04:43 +0000 Subject: [PATCH] screenShield: Compute lock timeout fade duration using animation settings When the screen is marked as idle, we normally start a fading animation and a timeout to finally lock the screen. This timeout is configured using the fade time if no longer delay is set in settings. However if animations are disabled or slowed-down/up, the fade time is different from the STANDARD_FADE_TIME and so we might end up showing the lock shield without actually locking for STANDARD_FADE_TIME in the disabled or slowed-up animations case, or locking too early in case of slowed-down animations. So, just adjust the timeout time using the same logic of animations so that this value is matching all the times. Related to https://gitlab.gnome.org/GNOME/gnome-shell/issues/1744 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/749 (cherry picked from commit ab6a629955d8bd3c004ec0eb21f57987f48ac655) --- js/ui/screenShield.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index 2e2e95a38..ba50ef92f 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -17,6 +17,8 @@ const MessageTray = imports.ui.messageTray; const ShellDBus = imports.ui.shellDBus; const SmartcardManager = imports.misc.smartcardManager; +const { adjustAnimationTime } = imports.ui.environment; + const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver'; const LOCK_ENABLED_KEY = 'lock-enabled'; const LOCK_DELAY_KEY = 'lock-delay'; @@ -832,7 +834,7 @@ var ScreenShield = class { if (shouldLock) { let lockTimeout = Math.max( - STANDARD_FADE_TIME, + adjustAnimationTime(STANDARD_FADE_TIME), this._settings.get_uint(LOCK_DELAY_KEY) * 1000); this._lockTimeoutId = GLib.timeout_add( GLib.PRIORITY_DEFAULT,