Accepting request 534192 from GNOME:Next

1

OBS-URL: https://build.opensuse.org/request/show/534192
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell?expand=0&rev=339
This commit is contained in:
Dominique Leuenberger 2017-10-16 14:17:04 +00:00 committed by Git OBS Bridge
parent dce2ca8f61
commit b4a8941f87
3 changed files with 186 additions and 0 deletions

View File

@ -0,0 +1,175 @@
From 23d3b716c72d036ae7030fb8335acf168ea32685 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Fri, 13 Oct 2017 17:46:58 +0200
Subject: [PATCH] keyboard: Minor cleanup
_syncEnabled() will call _setupKeyboard() if necessary, so no need
to call it explicitly before.
https://bugzilla.gnome.org/show_bug.cgi?id=788188
---
js/ui/keyboard.js | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
index da36c3615..87635ce83 100644
--- a/js/ui/keyboard.js
+++ b/js/ui/keyboard.js
@@ -324,10 +324,8 @@ var Keyboard = new Lang.Class({
_sync: function () {
if (this._keyboard &&
- this._keyboard.keyboard_type != this._keyboardSettings.get_string(KEYBOARD_TYPE)) {
+ this._keyboard.keyboard_type != this._keyboardSettings.get_string(KEYBOARD_TYPE))
this._destroyKeyboard();
- this._setupKeyboard();
- }
this._syncEnabled();
},
--
2.14.2From f20a30e3a6b4cf305a64780295bd6483461763a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Mon, 9 Oct 2017 12:51:08 +0200
Subject: [PATCH] keyboard: Split enabled setting from enabled state
We enable the keyboard when it is either enabled explicitly via
a11y settings or when using a touch device. We'll soon want to
special-case changes to the GSettings, so track its value in a
dedicated property.
https://bugzilla.gnome.org/show_bug.cgi?id=788188
---
js/ui/keyboard.js | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
index 87635ce83..771f23dc2 100644
--- a/js/ui/keyboard.js
+++ b/js/ui/keyboard.js
@@ -168,6 +168,9 @@ var Keyboard = new Lang.Class({
this._caretTrackingEnabled = false;
this._updateCaretPositionId = 0;
+ this._enableKeyboard = false; // a11y settings value
+ this._enabled = false; // enabled state (by setting or device type)
+
this._keyboardSettings = new Gio.Settings({ schema_id: KEYBOARD_SCHEMA });
this._keyboardSettings.connect('changed', Lang.bind(this, this._sync));
this._a11yApplicationsSettings = new Gio.Settings({ schema_id: A11Y_APPLICATIONS_SCHEMA });
@@ -305,14 +308,14 @@ var Keyboard = new Lang.Class({
},
_syncEnabled: function () {
- this._enableKeyboard = this._a11yApplicationsSettings.get_boolean(SHOW_KEYBOARD) ||
- this._lastDeviceIsTouchscreen();
- if (!this._enableKeyboard && !this._keyboard)
+ this._enableKeyboard = this._a11yApplicationsSettings.get_boolean(SHOW_KEYBOARD);
+ this._enabled = this._enableKeyboard || this._lastDeviceIsTouchscreen();
+ if (!this._enabled && !this._keyboard)
return;
- this._setCaretTrackerEnabled(this._enableKeyboard);
+ this._setCaretTrackerEnabled(this._enabled);
- if (this._enableKeyboard) {
+ if (this._enabled) {
if (!this._keyboard)
this._setupKeyboard();
else
@@ -509,7 +512,7 @@ var Keyboard = new Lang.Class({
},
_redraw: function () {
- if (!this._enableKeyboard)
+ if (!this._enabled)
return;
let monitor = Main.layoutManager.keyboardMonitor;
@@ -614,7 +617,7 @@ var Keyboard = new Lang.Class({
},
show: function (monitor) {
- if (!this._enableKeyboard)
+ if (!this._enabled)
return;
this._clearShowIdle();
@@ -650,7 +653,7 @@ var Keyboard = new Lang.Class({
},
hide: function () {
- if (!this._enableKeyboard)
+ if (!this._enabled)
return;
this._clearShowIdle();
@@ -713,14 +716,14 @@ var Keyboard = new Lang.Class({
},
setCursorLocation: function(x, y, w, h) {
- if (!this._enableKeyboard)
+ if (!this._enabled)
return;
// this._setLocation(x, y);
},
setEntryLocation: function(x, y, w, h) {
- if (!this._enableKeyboard)
+ if (!this._enabled)
return;
// this._setLocation(x, y);
--
2.14.2From e73a0724bbc5f9aab3ce856324a8e6e83690173c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Mon, 9 Oct 2017 12:53:04 +0200
Subject: [PATCH] keyboard: Don't pop up on touch events
We want touch events to enable the keyboard and focus tracking, but
not to actually show it right away. Implement that behavior by only
changing the visibility of the keyboard when triggered by a GSettings
change.
https://bugzilla.gnome.org/show_bug.cgi?id=788188
---
js/ui/keyboard.js | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
index 771f23dc2..9f1cb56c6 100644
--- a/js/ui/keyboard.js
+++ b/js/ui/keyboard.js
@@ -308,6 +308,7 @@ var Keyboard = new Lang.Class({
},
_syncEnabled: function () {
+ let wasEnabled = this._enableKeyboard;
this._enableKeyboard = this._a11yApplicationsSettings.get_boolean(SHOW_KEYBOARD);
this._enabled = this._enableKeyboard || this._lastDeviceIsTouchscreen();
if (!this._enabled && !this._keyboard)
@@ -315,14 +316,15 @@ var Keyboard = new Lang.Class({
this._setCaretTrackerEnabled(this._enabled);
- if (this._enabled) {
- if (!this._keyboard)
- this._setupKeyboard();
- else
- Main.layoutManager.showKeyboard();
- } else {
+ if (this._enabled && !this._keyboard) {
+ this._setupKeyboard();
Main.layoutManager.hideKeyboard(true);
}
+
+ if (this._enableKeyboard && !wasEnabled)
+ Main.layoutManager.showKeyboard();
+ else if (!this._enableKeyboard && wasEnabled)
+ Main.layoutManager.hideKeyboard(true);
},
_sync: function () {
--
2.14.2

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sat Oct 14 20:53:32 UTC 2017 - badshah400@gmail.com
- Add gnome-shell-osk-dont-popup-when-not-needed.patch: Stop the
on-screen keyboard from showing up when touchscreen use doesn't
activate a text field; patch taken from upstream bug report
(bgo#788188).
-------------------------------------------------------------------
Mon Oct 9 06:25:05 UTC 2017 - xwang@suse.com

View File

@ -39,6 +39,8 @@ Patch1: gnome-shell-private-connection.patch
Patch2: gnome-shell-disable-ibus-when-not-installed.patch
# PATCH-FIX-UPSTREAM gnome-shell-Avoid-loginDialog-grab-focus-when-locked.patch bsc#1058521 bgo#788169 xwang@suse.com -- Avoid login dialog grabs focus when screen locked
Patch3: gnome-shell-Avoid-loginDialog-grab-focus-when-locked.patch
# PATCH-FIX-UPSTREAM gnome-shell-osk-dont-popup-when-not-needed.patch bgo#788188 badshah400@gmail.com -- Stop the on-screen keyboard from showing up when touchscreen use doesn't activate a text field; patch taken from upstream bug report
Patch4: gnome-shell-osk-dont-popup-when-not-needed.patch
## NOTE: Keep SLE only patches at bottom (starting on 1000).
# PATCH-FEATURE-SLE gnome-shell-gdm-login-applet.patch fate#314545 dliang@suse.com -- Add an applet on login UI to display suse icon, product name, hostname.
@ -187,6 +189,7 @@ into GNOME Shell calendar.
#patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%if !0%{?is_opensuse}
%patch1001 -p1