[gnome-shell] Pass events to the OSK in dialogs which grab events
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Pass events to the OSK in dialogs which grab events
- Date: Sat, 23 Apr 2022 09:48:06 +0000 (UTC)
commit 66331e124410a9fff1f5fd173e0b771990662bd5
Author: Jonas Dreßler <verdre v0yd nl>
Date: Wed Apr 6 12:51:45 2022 +0200
Pass events to the OSK in dialogs which grab events
With commit c29e0cf6e60a1296b43fc33d94f2acc649046cf9 the grabHelper
already started using a similar mechanism to funnel events to the osk
while a ClutterGrab is in effect. ModalDialog, the unlockDialog and
lookingGlass don't make use of the grabHelper though, they use
Main.pushModal() themselves, so those need to funnel the events to the
OSK themselves.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2263>
js/ui/lookingGlass.js | 7 +++++++
js/ui/modalDialog.js | 7 +++++++
js/ui/unlockDialog.js | 7 +++++++
3 files changed, 21 insertions(+)
---
diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js
index 1f10b5a8e4..7dea384209 100644
--- a/js/ui/lookingGlass.js
+++ b/js/ui/lookingGlass.js
@@ -1421,6 +1421,13 @@ class LookingGlass extends St.BoxLayout {
this._resize();
}
+ vfunc_captured_event(event) {
+ if (Main.keyboard.maybeHandleEvent(event))
+ return Clutter.EVENT_STOP;
+
+ return Clutter.EVENT_PROPAGATE;
+ }
+
_updateFont() {
let fontName = this._interfaceSettings.get_string('monospace-font-name');
let fontDesc = Pango.FontDescription.from_string(fontName);
diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js
index 9d5521be93..04c0cf8ca4 100644
--- a/js/ui/modalDialog.js
+++ b/js/ui/modalDialog.js
@@ -114,6 +114,13 @@ var ModalDialog = GObject.registerClass({
return Clutter.EVENT_PROPAGATE;
}
+ vfunc_captured_event(event) {
+ if (Main.keyboard.maybeHandleEvent(event))
+ return Clutter.EVENT_STOP;
+
+ return Clutter.EVENT_PROPAGATE;
+ }
+
clearButtons() {
this.dialogLayout.clearButtons();
}
diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
index 866513c460..dd13e312bd 100644
--- a/js/ui/unlockDialog.js
+++ b/js/ui/unlockDialog.js
@@ -625,6 +625,13 @@ var UnlockDialog = GObject.registerClass({
return Clutter.EVENT_PROPAGATE;
}
+ vfunc_captured_event(event) {
+ if (Main.keyboard.maybeHandleEvent(event))
+ return Clutter.EVENT_STOP;
+
+ return Clutter.EVENT_PROPAGATE;
+ }
+
_createBackground(monitorIndex) {
let monitor = Main.layoutManager.monitors[monitorIndex];
let widget = new St.Widget({
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]