[gnome-shell/gbsneto/new-lock-screen-part2: 60/62] screenShield: Rework key focus management
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gbsneto/new-lock-screen-part2: 60/62] screenShield: Rework key focus management
- Date: Mon, 3 Feb 2020 18:49:55 +0000 (UTC)
commit 0a7ebe9d416c2a0fc30ab5db5ba00133ec913a3f
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Mon Dec 2 12:35:00 2019 -0300
screenShield: Rework key focus management
Instead of always grabbing key focus for the screen lock
group, do that for the unlock dialog itself.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
js/ui/screenShield.js | 17 ++++++++++-------
js/ui/unlockDialog.js | 1 +
2 files changed, 11 insertions(+), 7 deletions(-)
---
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index b534a7b02f..4cb7f249df 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -57,11 +57,14 @@ var ScreenShield = class {
});
Main.ctrlAltTabManager.addGroup(this._lockScreenGroup, _("Lock"), 'changes-prevent-symbolic');
- this._lockDialogGroup = new St.Widget({ x_expand: true,
- y_expand: true,
- reactive: true,
- pivot_point: new Graphene.Point({ x: 0.5, y: 0.5 }),
- name: 'lockDialogGroup' });
+ this._lockDialogGroup = new St.Widget({
+ x_expand: true,
+ y_expand: true,
+ reactive: true,
+ can_focus: true,
+ pivot_point: new Graphene.Point({ x: 0.5, y: 0.5 }),
+ name: 'lockDialogGroup',
+ });
this.actor.add_actor(this._lockScreenGroup);
this.actor.add_actor(this._lockDialogGroup);
@@ -173,7 +176,7 @@ var ScreenShield = class {
// LoginDialog.cancel() will grab the key focus
// on its own, so ensure it stays on lock screen
// instead
- this._lockScreenGroup.grab_key_focus();
+ this._dialog.grab_key_focus();
}
}
@@ -434,7 +437,7 @@ var ScreenShield = class {
this._lockScreenShown({ fadeToBlack, animateFade: false });
}
- this._lockScreenGroup.grab_key_focus();
+ this._dialog.grab_key_focus();
}
_lockScreenShown(params) {
diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
index 45a054c900..5c4e57f2d1 100644
--- a/js/ui/unlockDialog.js
+++ b/js/ui/unlockDialog.js
@@ -401,6 +401,7 @@ var UnlockDialog = GObject.registerClass({
accessible_role: Atk.Role.WINDOW,
style_class: 'login-dialog',
visible: false,
+ can_focus: true,
reactive: true,
});
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]