After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 692560 - Always use the shield
Always use the shield
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: lock-screen
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on: 691964
Blocks:
 
 
Reported: 2013-01-25 20:56 UTC by Bastien Nocera
Modified: 2013-01-31 14:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ScreenShield: lower the shield when the user is idle but before locking (11.95 KB, patch)
2013-01-27 14:54 UTC, Giovanni Campagna
needs-work Details | Review
ScreenShield: lower the shield when the user is idle but before locking (11.90 KB, patch)
2013-01-31 13:17 UTC, Giovanni Campagna
committed Details | Review

Description Bastien Nocera 2013-01-25 20:56:21 UTC
After the idle-delay is passed, and the lock delay isn't passed yet, the shield should be down, with the desktop underneath (as it does on LiveCDs).
Comment 1 Giovanni Campagna 2013-01-27 14:54:43 UTC
Created attachment 234534 [details] [review]
ScreenShield: lower the shield when the user is idle but before locking

In time span between idle and lock the shield should behave like autologin,
but should prevent accidental reactivation (for example when using a touch
screen) by showing the curtain.
Comment 2 Jasper St. Pierre (not reading bugmail) 2013-01-29 18:46:19 UTC
Review of attachment 234534 [details] [review]:

Full review after the question is answered.

::: js/ui/screenShield.js
@@ +670,3 @@
         if (this._becameActiveId == 0)
             this._becameActiveId = this.idleMonitor.connect('became-active',
                                                             Lang.bind(this, this._onUserBecameActive));

Is this on top of something? I don't have this in master.

@@ +757,3 @@
     _hideLockScreen: function(animate, velocity) {
+        if (this._lockScreenState == MessageTray.State.HIDDEN)
+            return;

This is a separate bugfix for a double lower when you hit "Lock" IIRC, so please split it out.
Comment 3 Bastien Nocera 2013-01-29 23:28:26 UTC
(In reply to comment #2)
> Review of attachment 234534 [details] [review]:
> 
> Full review after the question is answered.
> 
> ::: js/ui/screenShield.js
> @@ +670,3 @@
>          if (this._becameActiveId == 0)
>              this._becameActiveId = this.idleMonitor.connect('became-active',
>                                                              Lang.bind(this,
> this._onUserBecameActive));
> 
> Is this on top of something? I don't have this in master.

Probably on top of bug 691964 (which itself is on top of 689106).
Comment 4 Giovanni Campagna 2013-01-29 23:31:13 UTC
Yeah, the dependency is a bit convoluted, but I don't want to risk a rebase. The sequence is:
- the first patch from bug 691964
- this patch
- the two other patches from bug 691964
Comment 5 Giovanni Campagna 2013-01-30 19:13:39 UTC
(In reply to comment #2)
> Review of attachment 234534 [details] [review]:

> @@ +757,3 @@
>      _hideLockScreen: function(animate, velocity) {
> +        if (this._lockScreenState == MessageTray.State.HIDDEN)
> +            return;
> 
> This is a separate bugfix for a double lower when you hit "Lock" IIRC, so
> please split it out.

No, this is _hideLockScreen, so it's about raising the shield.

Please review again, so I can land this and the other bug.
Comment 6 Jasper St. Pierre (not reading bugmail) 2013-01-31 13:01:19 UTC
Review of attachment 234534 [details] [review]:

::: js/ui/screenShield.js
@@ +495,3 @@
 
+    _liftShield: function(onPrimary, velocity) {
+        if (this._isLocked) {

if (this._isLocked) {
} else {
    this.unlock();
}

seems weird. Renames of some methods or an added comment would be appreciated.

@@ +1082,3 @@
+        if (!this._becomeModal()) {
+            Main.notifyError(_("Failed to activate screen lock"),
+                             _("The screen lock is inhibited by an application capturing the keyboard."));

This needs to be part of the Try harder patch. I'm not convinced it's a good idea quite yet.
Comment 7 Giovanni Campagna 2013-01-31 13:17:07 UTC
Created attachment 234911 [details] [review]
ScreenShield: lower the shield when the user is idle but before locking

In time span between idle and lock the shield should behave like autologin,
but should prevent accidental reactivation (for example when using a touch
screen) by showing the curtain.
Comment 8 Jasper St. Pierre (not reading bugmail) 2013-01-31 13:25:15 UTC
Review of attachment 234911 [details] [review]:

Much better.
Comment 9 Giovanni Campagna 2013-01-31 14:24:03 UTC
Attachment 234911 [details] pushed as 9a25224 - ScreenShield: lower the shield when the user is idle but before locking