Accepting request 695538 from GNOME:Next

Update to 3.32.1

OBS-URL: https://build.opensuse.org/request/show/695538
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell?expand=0&rev=386
This commit is contained in:
Dominique Leuenberger 2019-04-18 13:50:39 +00:00 committed by Git OBS Bridge
parent 96bdb89a85
commit 9efaacc71f
18 changed files with 312 additions and 622 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:22632c9bbccef11fe3130fc8d642e37de223d089e004bdb58dae309a38694c4d
size 1439556

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0874ded4498e960b264baa54b6407a5a75dac54fc5b7cd60db91133e9c0260dd
size 1454592

View File

@ -1,4 +1,4 @@
From 8a46458bf59300fb73ac4d1271c80c5b9ab571c4 Mon Sep 17 00:00:00 2001 From 83b01d946517b5995e6423582de13307af91716b Mon Sep 17 00:00:00 2001
From: Xiaoguang Wang <xwang@suse.com> From: Xiaoguang Wang <xwang@suse.com>
Date: Tue, 26 Sep 2017 16:54:15 +0800 Date: Tue, 26 Sep 2017 16:54:15 +0800
Subject: [PATCH] gdm: Avoid loginDialog grab focus when locked Subject: [PATCH] gdm: Avoid loginDialog grab focus when locked
@ -8,17 +8,20 @@ https://bugzilla.gnome.org/show_bug.cgi?id=788169
js/gdm/loginDialog.js | 3 ++- js/gdm/loginDialog.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-) 1 file changed, 2 insertions(+), 1 deletion(-)
Index: gnome-shell-3.30.1/js/gdm/loginDialog.js diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
=================================================================== index 6c4d135..cfc445b 100644
--- gnome-shell-3.30.1.orig/js/gdm/loginDialog.js 2018-10-08 21:33:22.000000000 +0200 --- a/js/gdm/loginDialog.js
+++ gnome-shell-3.30.1/js/gdm/loginDialog.js 2018-10-22 20:25:19.894377588 +0200 +++ b/js/gdm/loginDialog.js
@@ -1126,7 +1126,8 @@ var LoginDialog = new Lang.Class({ @@ -1119,7 +1119,8 @@ var LoginDialog = GObject.registerClass({
this._sessionMenuButton.close(); this._sessionMenuButton.close();
this._setUserListExpanded(true); this._setUserListExpanded(true);
this._notListedButton.show(); this._notListedButton.show();
- this._userList.actor.grab_key_focus(); - this._userList.actor.grab_key_focus();
+ if (!Main.screenShield.locked) + if (!Main.screenShield.locked)
+ this._userList.actor.grab_key_focus(); + this._userList.actor.grab_key_focus();
}, }
_beginVerificationForItem(item) { _beginVerificationForItem(item) {
--
2.16.4

View File

@ -1,72 +0,0 @@
From ca54b55c01907080a858c9a7e1dc0ad64aa621eb Mon Sep 17 00:00:00 2001
From: Takao Fujiwara <tfujiwar@redhat.com>
Date: Fri, 31 Aug 2018 11:22:23 +0000
Subject: [PATCH] keyboard: Do not call KeyboardManager.holdKeyboard() with
set-content-type
When gnome-shell receives the signal of 'set-content-type' from ibus,
gnome-shell calls KeyboardManager.holdKeyboard() and
KeyboardManager.releaseKeyboard() and the functions change the current
input focus in GNOME Xorg and it could result in closing a popup window
which has a password entry by focusing on the entry.
The solution is to stop to call the APIs on 'set-content-type' signal.
https://gitlab.gnome.org/GNOME/gnome-shell/issues/391
(cherry picked from commit 551e827841626cd8084daa2210b3bf60e5be96be)
---
js/ui/status/keyboard.js | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
index a17e9c43b..1515a1f21 100644
--- a/js/ui/status/keyboard.js
+++ b/js/ui/status/keyboard.js
@@ -360,11 +360,14 @@ var InputSourceManager = new Lang.Class({
this._settings.connect('per-window-changed', this._sourcesPerWindowChanged.bind(this));
this._sourcesPerWindowChanged();
this._disableIBus = false;
+ this._reloading = false;
},
reload() {
+ this._reloading = true;
this._keyboardManager.setKeyboardOptions(this._settings.keyboardOptions);
this._inputSourcesChanged();
+ this._reloading = false;
},
_ibusReadyCallback(im, ready) {
@@ -458,7 +461,15 @@ var InputSourceManager = new Lang.Class({
},
activateInputSource(is, interactive) {
- KeyboardManager.holdKeyboard();
+ // The focus changes during holdKeyboard/releaseKeyboard may trick
+ // the client into hiding UI containing the currently focused entry.
+ // So holdKeyboard/releaseKeyboard are not called when
+ // 'set-content-type' signal is received.
+ // E.g. Focusing on a password entry in a popup in Xorg Firefox
+ // will emit 'set-content-type' signal.
+ // https://gitlab.gnome.org/GNOME/gnome-shell/issues/391
+ if (!this._reloading)
+ KeyboardManager.holdKeyboard();
this._keyboardManager.apply(is.xkbId);
// All the "xkb:..." IBus engines simply "echo" back symbols,
@@ -473,7 +484,10 @@ var InputSourceManager = new Lang.Class({
else
engine = 'xkb:us::eng';
- this._ibusManager.setEngine(engine, KeyboardManager.releaseKeyboard);
+ if (!this._reloading)
+ this._ibusManager.setEngine(engine, KeyboardManager.releaseKeyboard);
+ else
+ this._ibusManager.setEngine(engine);
this._currentInputSourceChanged(is);
if (interactive)
--
2.18.1

View File

@ -1,42 +0,0 @@
From ae0461fd60cad156c4ff6e9afc44b0520b838f50 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Fri, 16 Nov 2018 10:39:08 +0000
Subject: [PATCH] altSwitcher: Fix error when all alternatives are disabled
While we do consider the case that we don't have a child to show for the
visibility, we are still trying to move the click action unconditionally.
https://gitlab.gnome.org/GNOME/gnome-shell/issues/783
(cherry picked from commit e77463b875311ff35bb94daadf2d96cb1886e2c1)
---
js/ui/status/system.js | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/js/ui/status/system.js b/js/ui/status/system.js
index c695f37be..41bcacd94 100644
--- a/js/ui/status/system.js
+++ b/js/ui/status/system.js
@@ -58,6 +58,9 @@ var AltSwitcher = new Lang.Class({
childToShow = this._standard;
} else if (this._alternate.visible) {
childToShow = this._alternate;
+ } else {
+ this.actor.hide();
+ return;
}
let childShown = this.actor.get_child();
@@ -79,7 +82,7 @@ var AltSwitcher = new Lang.Class({
global.sync_pointer();
}
- this.actor.visible = (childToShow != null);
+ this.actor.show();
},
_onDestroy() {
--
2.18.1

View File

@ -1,33 +0,0 @@
From 45b4495886e89373b9af6e1c3eb21bd65e1d0c42 Mon Sep 17 00:00:00 2001
From: Andrea Azzarone <azzaronea@gmail.com>
Date: Fri, 16 Nov 2018 18:31:56 +0000
Subject: [PATCH] dash: destroy items's child before tooltip
Destroy the DashItemContainer's child from the same handler as the tooltip. This
will prevent invalid reads when the item is destroyed while its quicklist is
still open.
Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/781
(cherry picked from commit ff2fbf5ae40561b403b721e932d1bc5492532156)
---
js/ui/dash.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/js/ui/dash.js b/js/ui/dash.js
index 9b8bfdd13..fbc06a78e 100644
--- a/js/ui/dash.js
+++ b/js/ui/dash.js
@@ -52,6 +52,8 @@ var DashItemContainer = new Lang.Class({
this.animatingOut = false;
this.connect('destroy', () => {
+ if (this.child != null)
+ this.child.destroy();
this.label.destroy();
});
},
--
2.18.1

View File

@ -1,97 +0,0 @@
From e23f4d6c7c300e579db21bb9dffeeaace6f39959 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 23 Jan 2019 15:59:42 -0500
Subject: [PATCH] shellActionModes: disable POPUP keybindings in unlock screen
Certain keybindings should continue to work even when a popup
menu is on screen. For instance, the keybinding for showing
the app menu and the keyinding for showing the calendar are
examples.
This is achieved by putting in place a special "POPUP" action
mode, whenever a popup menu is active. This mode replaces
the (e.g., "NORMAL" or "OVERVIEW") action mode that was in place
for as long as the popup menu is active.
But those keybindings should not work when the user is at the
unlock dialog (which uses an action mode of "UNLOCK").
Unfortunately, since commit c79d24b6 they do.
This commit addresses the problem by forcing the action mode
to NONE at the unlock screen when popups are visible.
CVE-2019-3820
Closes https://gitlab.gnome.org/GNOME/gnome-shell/issues/851
---
js/gdm/authPrompt.js | 3 ++-
js/gdm/loginDialog.js | 3 ++-
js/ui/shellEntry.js | 6 ++++--
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index a0a4a21d6..78e0454e3 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -11,6 +11,7 @@ const Animation = imports.ui.animation;
const Batch = imports.gdm.batch;
const GdmUtil = imports.gdm.util;
const Params = imports.misc.params;
+const Shell = imports.gi.Shell;
const ShellEntry = imports.ui.shellEntry;
const Tweener = imports.ui.tweener;
const UserWidget = imports.ui.userWidget;
@@ -99,7 +100,7 @@ var AuthPrompt = new Lang.Class({
x_align: St.Align.START });
this._entry = new St.Entry({ style_class: 'login-dialog-prompt-entry',
can_focus: true });
- ShellEntry.addContextMenu(this._entry, { isPassword: true });
+ ShellEntry.addContextMenu(this._entry, { isPassword: true, actionMode: Shell.ActionMode.NONE });
this.actor.add(this._entry,
{ expand: true,
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
index bf7967700..370590902 100644
--- a/js/gdm/loginDialog.js
+++ b/js/gdm/loginDialog.js
@@ -342,7 +342,8 @@ var SessionMenuButton = new Lang.Class({
this._button.remove_style_pseudo_class('active');
});
- this._manager = new PopupMenu.PopupMenuManager({ actor: this._button });
+ this._manager = new PopupMenu.PopupMenuManager({ actor: this._button },
+ { actionMode: Shell.ActionMode.NONE });
this._manager.addMenu(this._menu);
this._button.connect('clicked', () => { this._menu.toggle(); });
diff --git a/js/ui/shellEntry.js b/js/ui/shellEntry.js
index 9db5136e6..09bb9bbd6 100644
--- a/js/ui/shellEntry.js
+++ b/js/ui/shellEntry.js
@@ -9,6 +9,7 @@ const BoxPointer = imports.ui.boxpointer;
const Main = imports.ui.main;
const Params = imports.misc.params;
const PopupMenu = imports.ui.popupMenu;
+const Shell = imports.gi.Shell;
var EntryMenu = new Lang.Class({
Name: 'ShellEntryMenu',
@@ -150,11 +151,12 @@ function addContextMenu(entry, params) {
if (entry.menu)
return;
- params = Params.parse (params, { isPassword: false });
+ params = Params.parse (params, { isPassword: false, actionMode: Shell.ActionMode.POPUP });
entry.menu = new EntryMenu(entry);
entry.menu.isPassword = params.isPassword;
- entry._menuManager = new PopupMenu.PopupMenuManager({ actor: entry });
+ entry._menuManager = new PopupMenu.PopupMenuManager({ actor: entry },
+ { actionMode: params.actionMode });
entry._menuManager.addMenu(entry.menu);
// Add an event handler to both the entry and its clutter_text; the former
--
2.18.1

View File

@ -1,15 +1,27 @@
Index: gnome-shell-3.30.1/js/misc/ibusManager.js From d8109a8e9db11cc7374faba3264b9f00dc5e1699 Mon Sep 17 00:00:00 2001
=================================================================== From: Chingkai <qkzhu@suse.com>
--- gnome-shell-3.30.1.orig/js/misc/ibusManager.js 2018-10-08 21:33:22.000000000 +0200 Date: Wed, 13 Mar 2019 14:50:22 +0800
+++ gnome-shell-3.30.1/js/misc/ibusManager.js 2018-10-22 20:25:19.878377429 +0200 Subject: [PATCH] Disable ibus when out of CJK
@@ -41,6 +41,10 @@ var IBusManager = new Lang.Class({
_PRELOAD_ENGINES_DELAY_TIME: 30, // sec
_init() { ---
js/misc/ibusManager.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/js/misc/ibusManager.js b/js/misc/ibusManager.js
index d20ad2f..0595573 100644
--- a/js/misc/ibusManager.js
+++ b/js/misc/ibusManager.js
@@ -31,6 +31,10 @@ function getIBusManager() {
var IBusManager = class {
constructor() {
+ let daemon = Gio.File.new_for_path('/usr/bin/ibus-daemon'); + let daemon = Gio.File.new_for_path('/usr/bin/ibus-daemon');
+ if (!daemon.query_exists(null)) + if (!daemon.query_exists(null))
+ return; + return;
+ +
IBus.init(); IBus.init();
this._candidatePopup = new IBusCandidatePopup.CandidatePopup(); // This is the longest we'll keep the keyboard frozen until an input
--
2.16.4

View File

@ -1,4 +1,4 @@
From 12550ed99219b2ff1ff46a5db1e57b5f3389e895 Mon Sep 17 00:00:00 2001 From 7ec0b20a9c8c62f34203e1e93b64764f3fbd20d7 Mon Sep 17 00:00:00 2001
From: Chingkai <chuchingkai@gmail.com> From: Chingkai <chuchingkai@gmail.com>
Date: Fri, 19 Oct 2018 13:25:35 +0800 Date: Fri, 19 Oct 2018 13:25:35 +0800
Subject: [PATCH] screenShield: Make login and lock screen background Subject: [PATCH] screenShield: Make login and lock screen background
@ -14,10 +14,10 @@ https://gitlab.gnome.org/GNOME/gnome-shell/issues/680
1 file changed, 41 insertions(+) 1 file changed, 41 insertions(+)
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index 7004c93dd..8a913ad36 100644 index 3f45b8a..6c09a5d 100644
--- a/js/ui/screenShield.js --- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js +++ b/js/ui/screenShield.js
@@ -36,6 +36,8 @@ const LOCK_DELAY_KEY = 'lock-delay'; @@ -27,6 +27,8 @@ const LOCK_DELAY_KEY = 'lock-delay';
const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown'; const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
const DISABLE_LOCK_KEY = 'disable-lock-screen'; const DISABLE_LOCK_KEY = 'disable-lock-screen';
@ -26,7 +26,7 @@ index 7004c93dd..8a913ad36 100644
const LOCKED_STATE_STR = 'screenShield.locked'; const LOCKED_STATE_STR = 'screenShield.locked';
// fraction of screen height the arrow must reach before completing // fraction of screen height the arrow must reach before completing
// the slide up automatically // the slide up automatically
@@ -495,6 +497,16 @@ var ScreenShield = new Lang.Class({ @@ -493,6 +495,16 @@ var ScreenShield = class {
pivot_point: new Clutter.Point({ x: 0.5, y: 0.5 }), pivot_point: new Clutter.Point({ x: 0.5, y: 0.5 }),
name: 'lockDialogGroup' }); name: 'lockDialogGroup' });
@ -43,9 +43,9 @@ index 7004c93dd..8a913ad36 100644
this.actor.add_actor(this._lockDialogGroup); this.actor.add_actor(this._lockDialogGroup);
this.actor.add_actor(this._lockScreenGroup); this.actor.add_actor(this._lockScreenGroup);
@@ -588,6 +600,35 @@ var ScreenShield = new Lang.Class({ @@ -586,6 +598,35 @@ var ScreenShield = class {
this._syncInhibitor(); this._syncInhibitor();
}, }
+ _createBgLockDialogGroup(monitorIndex) { + _createBgLockDialogGroup(monitorIndex) {
+ let monitor = Main.layoutManager.monitors[monitorIndex]; + let monitor = Main.layoutManager.monitors[monitorIndex];
@ -63,7 +63,7 @@ index 7004c93dd..8a913ad36 100644
+ this._bgManagersLockDialogGroup.push(bgManager); + this._bgManagersLockDialogGroup.push(bgManager);
+ +
+ this._bgLockDialogGroup.add_child(widget); + this._bgLockDialogGroup.add_child(widget);
+ }, + }
+ +
+ _updateBgLockDialogGroup() { + _updateBgLockDialogGroup() {
+ for (let i = 0; i < this._bgManagersLockDialogGroup.length; i++) + for (let i = 0; i < this._bgManagersLockDialogGroup.length; i++)
@ -74,11 +74,11 @@ index 7004c93dd..8a913ad36 100644
+ +
+ for (let i = 0; i < Main.layoutManager.monitors.length; i++) + for (let i = 0; i < Main.layoutManager.monitors.length; i++)
+ this._createBgLockDialogGroup(i); + this._createBgLockDialogGroup(i);
+ }, + }
+ +
_createBackground(monitorIndex) { _createBackground(monitorIndex) {
let monitor = Main.layoutManager.monitors[monitorIndex]; let monitor = Main.layoutManager.monitors[monitorIndex];
let widget = new St.Widget({ style_class: 'screen-shield-background', let widget = new St.Widget({ style_class: 'screen-shield-background',
-- --
2.13.7 2.16.4

View File

@ -1,36 +0,0 @@
From 4e1747e6ec86e765211740a76d8fabd7ff0b9269 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Thu, 15 Nov 2018 17:47:55 +0000
Subject: [PATCH] ibusManager: Don't pass undefined callback to ibus
Since commit 551e8278416, we don't always pass a callback parameter.
However passing it on as undefined to ibus doesn't work, as gjs doesn't
accept that as a valid callback value and throw an error. As a result,
we can end up with no layout selected in the keyboard menu and an "empty"
indicator. Fix this by explicitly passing null if no callback has been
provided.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/293
(cherry picked from commit 74bb9e62492bacda372904d30891eb97685e9b0c)
---
js/misc/ibusManager.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/misc/ibusManager.js b/js/misc/ibusManager.js
index 34f198c35..33ad8777e 100644
--- a/js/misc/ibusManager.js
+++ b/js/misc/ibusManager.js
@@ -210,7 +210,7 @@ var IBusManager = new Lang.Class({
}
this._ibus.set_global_engine_async(id, this._MAX_INPUT_SOURCE_ACTIVATION_TIME,
- null, callback);
+ null, callback || null);
},
preloadEngines(ids) {
--
2.18.1

View File

@ -1,47 +0,0 @@
From 401062800186ca26135d270f2285d8b2b5446437 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Tue, 13 Nov 2018 18:26:13 +0100
Subject: [PATCH] inputMethod: Avoid calling set_preedit_text() if unnecessary
This is easier down on clients.
(cherry-picked from 8c3811a866017943c276fa7d9e2aed4c0f0554ae)
---
js/misc/inputMethod.js | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
index 4a92dc49b..e22dfccc5 100644
--- a/js/misc/inputMethod.js
+++ b/js/misc/inputMethod.js
@@ -144,8 +144,11 @@ var InputMethod = new Lang.Class({
this._updateCapabilities();
}
- // Unset any preedit text
- this.set_preedit_text(null, 0);
+ if (this._preeditStr) {
+ // Unset any preedit text
+ this.set_preedit_text(null, 0);
+ this._preeditStr = null;
+ }
},
vfunc_reset() {
@@ -154,8 +157,11 @@ var InputMethod = new Lang.Class({
this._emitRequestSurrounding();
}
- // Unset any preedit text
- this.set_preedit_text(null, 0);
+ if (this._preeditStr) {
+ // Unset any preedit text
+ this.set_preedit_text(null, 0);
+ this._preeditStr = null;
+ }
},
vfunc_set_cursor_location(rect) {
--
2.18.1

View File

@ -1,70 +0,0 @@
From 1cda65973272baff218244e69dca0afc329ba6da Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Tue, 13 Nov 2018 18:28:15 +0100
Subject: [PATCH] inputMethod: Keep track of preedit string visibility
So we can silence update-preedit-text signals that keep the
preedit string invisible.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1447
(cherry-picked from 6f5a099184a1a5ecf558b36f2d00d2bfb074628e)
---
js/misc/inputMethod.js | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
index e22dfccc5..0f5590b3f 100644
--- a/js/misc/inputMethod.js
+++ b/js/misc/inputMethod.js
@@ -17,6 +17,7 @@ var InputMethod = new Lang.Class({
this._currentFocus = null;
this._preeditStr = '';
this._preeditPos = 0;
+ this._preeditVisible = false;
this._ibus = IBus.Bus.new_async();
this._ibus.connect('connected', this._onConnected.bind(this));
this._ibus.connect('disconnected', this._clear.bind(this));
@@ -80,6 +81,7 @@ var InputMethod = new Lang.Class({
this._enabled = false;
this._preeditStr = ''
this._preeditPos = 0;
+ this._preeditVisible = false;
},
_emitRequestSurrounding() {
@@ -98,20 +100,27 @@ var InputMethod = new Lang.Class({
_onUpdatePreeditText(context, text, pos, visible) {
if (text == null)
return;
- this._preeditStr = text.get_text();
- this._preeditPos = pos;
+
+ let preedit = text.get_text();
+
if (visible)
- this.set_preedit_text(this._preeditStr, pos);
- else
+ this.set_preedit_text(preedit, pos);
+ else if (this._preeditVisible)
this.set_preedit_text(null, pos);
+
+ this._preeditStr = preedit;
+ this._preeditPos = pos;
+ this._preeditVisible = visible;
},
_onShowPreeditText(context) {
+ this._preeditVisible = true;
this.set_preedit_text(this._preeditStr, this._preeditPos);
},
_onHidePreeditText(context) {
this.set_preedit_text(null, this._preeditPos);
+ this._preeditVisible = false;
},
_onForwardKeyEvent(context, keyval, keycode, state) {
--
2.18.1

View File

@ -1,13 +0,0 @@
Index: gnome-shell-3.30.1/subprojects/gvc/meson.build
===================================================================
--- gnome-shell-3.30.1.orig/subprojects/gvc/meson.build 2018-10-08 21:33:25.000000000 +0200
+++ gnome-shell-3.30.1/subprojects/gvc/meson.build 2018-10-22 20:25:19.854377189 +0200
@@ -90,7 +90,7 @@ else
sources: libgvc_gir_sources + libgvc_no_gir_sources,
dependencies: libgvc_deps,
c_args: c_args,
- install_rpath: pkgdatadir,
+ install_rpath: pkglibdir,
install_dir: pkglibdir,
install: true
)

View File

@ -1,33 +0,0 @@
From 511e8c658445377b044c6dfb241709142c97a8ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Wed, 23 Jan 2019 23:55:12 +0100
Subject: [PATCH] panel: Don't allow opening hidden menus via keybindings
We shouldn't allow toggling menus that aren't supported by the
current session mode, but as indicators are hidden rather than
destroyed on mode switches, it is not enough to check for an
indicator's existence.
https://gitlab.gnome.org/GNOME/gnome-shell/issues/851
---
js/ui/panel.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 66588f9c1..5b2ee63d8 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -998,8 +998,8 @@ var Panel = new Lang.Class({
},
_toggleMenu(indicator) {
- if (!indicator) // menu not supported by current session mode
- return;
+ if (!indicator || !indicator.container.visible)
+ return; // menu not supported by current session mode
let menu = indicator.menu;
if (!indicator.actor.reactive)
--
2.18.1

View File

@ -1,4 +1,4 @@
From f9a23ba5908fb93d25ef702510ea182c220db8aa Mon Sep 17 00:00:00 2001 From 342795440012a216d4abb9cfb04d2c3bd0fe8f4d Mon Sep 17 00:00:00 2001
From: Giovanni Campagna <gcampagna@src.gnome.org> From: Giovanni Campagna <gcampagna@src.gnome.org>
Date: Thu, 31 Mar 2011 15:56:13 +0200 Date: Thu, 31 Mar 2011 15:56:13 +0200
Subject: [PATCH] NetworkMenu: create private connections if the user is not Subject: [PATCH] NetworkMenu: create private connections if the user is not
@ -11,22 +11,21 @@ if the system administrator decides so.
https://bugzilla.gnome.org/show_bug.cgi?id=646187 https://bugzilla.gnome.org/show_bug.cgi?id=646187
--- ---
js/ui/status/network.js | 38 +++++++++++++++++++++++++++++++++----- js/ui/status/network.js | 38 ++++++++++++++++++++++++++++++++------
1 file changed, 33 insertions(+), 5 deletions(-) 1 file changed, 32 insertions(+), 6 deletions(-)
Index: gnome-shell-3.30.1/js/ui/status/network.js diff --git a/js/ui/status/network.js b/js/ui/status/network.js
=================================================================== index 77a6202..8c08ef2 100644
--- gnome-shell-3.30.1.orig/js/ui/status/network.js 2018-10-08 21:33:22.000000000 +0200 --- a/js/ui/status/network.js
+++ gnome-shell-3.30.1/js/ui/status/network.js 2018-10-22 20:25:19.866377309 +0200 +++ b/js/ui/status/network.js
@@ -7,6 +7,7 @@ const Gtk = imports.gi.Gtk; @@ -1,5 +1,5 @@
const Lang = imports.lang; // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
-const { Clutter, Gio, GLib, GObject, NM, St } = imports.gi;
+const { Clutter, Gio, GLib, GObject, NM, St, Polkit } = imports.gi;
const Mainloop = imports.mainloop; const Mainloop = imports.mainloop;
const NM = imports.gi.NM;
+const Polkit = imports.gi.Polkit;
const Signals = imports.signals; const Signals = imports.signals;
const Shell = imports.gi.Shell;
const St = imports.gi.St; @@ -322,6 +322,11 @@ var NMConnectionDevice = class extends NMConnectionSection {
@@ -333,6 +334,11 @@ var NMConnectionDevice = new Lang.Class(
_autoConnect() { _autoConnect() {
let connection = new NM.SimpleConnection(); let connection = new NM.SimpleConnection();
@ -36,28 +35,28 @@ Index: gnome-shell-3.30.1/js/ui/status/network.js
+ connection.add_setting(connectionSetting); + connection.add_setting(connectionSetting);
+ } + }
this._client.add_and_activate_connection_async(connection, this._device, null, null, null); this._client.add_and_activate_connection_async(connection, this._device, null, null, null);
}, }
@@ -473,10 +479,11 @@ var NMDeviceWired = new Lang.Class({ @@ -458,10 +463,11 @@ var NMConnectionDevice = class extends NMConnectionSection {
Extends: NMConnectionDevice, };
category: NMConnectionCategory.WIRED,
- _init(client, device) { var NMDeviceWired = class extends NMConnectionDevice {
+ _init(client, device, privateConnections) { - constructor(client, device) {
this.parent(client, device); + constructor(client, device, privateConnections) {
super(client, device);
this.item.menu.addSettingsAction(_("Wired Settings"), 'gnome-network-panel.desktop'); this.item.menu.addSettingsAction(_("Wired Settings"), 'gnome-network-panel.desktop');
+ this._privateConnections = privateConnections; + this._privateConnections = privateConnections;
}, }
_hasCarrier() { get category() {
@@ -688,11 +695,12 @@ var NMWirelessDialog = new Lang.Class({ @@ -672,11 +678,12 @@ var NMWirelessDialogItem = class {
Name: 'NMWirelessDialog', Signals.addSignalMethods(NMWirelessDialogItem.prototype);
Extends: ModalDialog.ModalDialog,
- _init(client, device) { var NMWirelessDialog = class extends ModalDialog.ModalDialog {
+ _init(client, device, privateConnections) { - constructor(client, device) {
this.parent({ styleClass: 'nm-dialog' }); + constructor(client, device, privateConnections) {
super({ styleClass: 'nm-dialog' });
this._client = client; this._client = client;
this._device = device; this._device = device;
@ -65,7 +64,7 @@ Index: gnome-shell-3.30.1/js/ui/status/network.js
this._wirelessEnabledChangedId = this._client.connect('notify::wireless-enabled', this._wirelessEnabledChangedId = this._client.connect('notify::wireless-enabled',
this._syncView.bind(this)); this._syncView.bind(this));
@@ -924,6 +932,11 @@ var NMWirelessDialog = new Lang.Class({ @@ -907,6 +914,11 @@ var NMWirelessDialog = class extends ModalDialog.ModalDialog {
this._device.get_path(), accessPoints[0].get_path()]); this._device.get_path(), accessPoints[0].get_path()]);
} else { } else {
let connection = new NM.SimpleConnection(); let connection = new NM.SimpleConnection();
@ -77,28 +76,28 @@ Index: gnome-shell-3.30.1/js/ui/status/network.js
this._client.add_and_activate_connection_async(connection, this._device, accessPoints[0].get_path(), null, null) this._client.add_and_activate_connection_async(connection, this._device, accessPoints[0].get_path(), null, null)
} }
} }
@@ -1162,9 +1175,10 @@ var NMDeviceWireless = new Lang.Class({ @@ -1142,9 +1154,10 @@ var NMWirelessDialog = class extends ModalDialog.ModalDialog {
Name: 'NMDeviceWireless', };
category: NMConnectionCategory.WIRELESS,
- _init(client, device) { var NMDeviceWireless = class {
+ _init(client, device, privateConnections) { - constructor(client, device) {
+ constructor(client, device, privateConnections) {
this._client = client; this._client = client;
this._device = device; this._device = device;
+ this._privateConnections = privateConnections; + this._privateConnections = privateConnections;
this._description = ''; this._description = '';
@@ -1246,7 +1260,7 @@ var NMDeviceWireless = new Lang.Class({ @@ -1230,7 +1243,7 @@ var NMDeviceWireless = class {
}, }
_showDialog() { _showDialog() {
- this._dialog = new NMWirelessDialog(this._client, this._device); - this._dialog = new NMWirelessDialog(this._client, this._device);
+ this._dialog = new NMWirelessDialog(this._client, this._device, this._privateConnections); + this._dialog = new NMWirelessDialog(this._client, this._device, this._privateConnections);
this._dialog.connect('closed', this._dialogClosed.bind(this)); this._dialog.connect('closed', this._dialogClosed.bind(this));
this._dialog.open(); this._dialog.open();
}, }
@@ -1632,6 +1646,19 @@ var NMApplet = new Lang.Class({ @@ -1606,6 +1619,19 @@ var NMApplet = class extends PanelMenu.SystemIndicator {
_clientGot(obj, result) { _clientGot(obj, result) {
this._client = NM.Client.new_finish(result); this._client = NM.Client.new_finish(result);
@ -118,7 +117,7 @@ Index: gnome-shell-3.30.1/js/ui/status/network.js
this._activeConnections = [ ]; this._activeConnections = [ ];
this._connections = [ ]; this._connections = [ ];
this._connectivityQueue = [ ]; this._connectivityQueue = [ ];
@@ -1747,7 +1774,7 @@ var NMApplet = new Lang.Class({ @@ -1721,7 +1747,7 @@ var NMApplet = class extends PanelMenu.SystemIndicator {
let wrapperClass = this._dtypes[device.get_device_type()]; let wrapperClass = this._dtypes[device.get_device_type()];
if (wrapperClass) { if (wrapperClass) {
@ -127,3 +126,6 @@ Index: gnome-shell-3.30.1/js/ui/status/network.js
device._delegate = wrapper; device._delegate = wrapper;
this._addDeviceWrapper(wrapper); this._addDeviceWrapper(wrapper);
--
2.16.4

View File

@ -1,46 +0,0 @@
From 5246da5837981b6a88b83a113bd6eb346599e528 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Thu, 25 Oct 2018 04:35:25 +0000
Subject: [PATCH] st-button: Ignore pointer emulated touch events
In X11, pointer emulated touch events are replicated with normal PRESS, RELEASE
pair events which are generated by the server. Thus for a single tap we get:
- TOUCH_BEGIN -> TOUCH_END, PRESS -> RELEASE
This will cause st-button to send two "clicked" signals, instead of just one,
breaking extensions (like dash-to-dock) that show buttons in the main stage
which will be checked two times or that will receive the same signal two times.
(cherry picked from commit 4c11d15a074aeca72627c44e327e2dc2afa93ae3)
---
src/st/st-button.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/st/st-button.c b/src/st/st-button.c
index 8f5c4922f..a3a7b2442 100644
--- a/src/st/st-button.c
+++ b/src/st/st-button.c
@@ -248,14 +248,17 @@ st_button_touch_event (ClutterActor *actor,
if (event->type == CLUTTER_TOUCH_BEGIN && !priv->press_sequence)
{
clutter_input_device_sequence_grab (device, sequence, actor);
- st_button_press (button, device, 0, sequence);
+ if (!clutter_event_is_pointer_emulated ((ClutterEvent*) event))
+ st_button_press (button, device, 0, sequence);
return CLUTTER_EVENT_STOP;
}
else if (event->type == CLUTTER_TOUCH_END &&
priv->device == device &&
priv->press_sequence == sequence)
{
- st_button_release (button, device, mask, 0, sequence);
+ if (!clutter_event_is_pointer_emulated ((ClutterEvent*) event))
+ st_button_release (button, device, mask, 0, sequence);
+
clutter_input_device_sequence_ungrab (device, sequence);
return CLUTTER_EVENT_STOP;
}
--
2.18.1

View File

@ -1,3 +1,212 @@
-------------------------------------------------------------------
Thu Apr 18 10:58:17 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 3.32.1:
+ Fix avatar scaling on login screen
(glgo#GNOME/gnome-shell#1024).
+ Fix distortion of desktop zoom (glgo#GNOME/gnome-shell#646).
+ Fix mouse cursor visibility when using desktop zoom
(glgo#GNOME/gnome-shell#1020).
+ Fix screen dimming after wake-up on lock screen
(glgo#GNOME/gnome-shell#900).
+ Fix Alt+Esc switcher (glgo#GNOME/gnome-shell#1064).
+ Respect struts for popover placement
(glgo#GNOME/gnome-shell#1102).
+ Fix app icons updates after theme changes
(glgo#GNOME/gnome-shell#1117).
+ Fix desktop zoom after resolution changes
(glgo#GNOME/gnome-shell#1120).
+ Implement stick-to-finger workspace switch overview gestures
(glgo#GNOME/gnome-shell#516).
+ Make World Clocks offsets relative to local time
(glgo#GNOME/gnome-shell#1157).
+ Fix top app icon disappearing from dash
(glgo#GNOME/gnome-shell#1053).
+ Update switch style to match new Adwaita
(glgo#GNOME/gnome-shell!496).
+ Ensure CSS units are pixel-aligned when scaling is used [Carlos; #91]
+ Misc. bug fixes and cleanups: glgo#GNOME/gnome-shell!444,
glgo#GNOME/gnome-shell#1016, glgo#GNOME/gnome-shell#1018,
glgo#GNOME/gnome-shell!449, glgo#GNOME/gnome-shell#1036,
glgo#GNOME/gnome-shell!455, glgo#GNOME/gnome-shell#1094,
glgo#GNOME/gnome-shell!440, glgo#GNOME/gnome-shell#1023,
glgo#GNOME/gnome-shell#624, glgo#GNOME/gnome-shell#1017,
glgo#GNOME/gnome-shell!476, glgo#GNOME/gnome-shell!473,
glgo#GNOME/gnome-shell!480, glgo#GNOME/gnome-shell#1130,
glgo#GNOME/gnome-shell!485, glgo#GNOME/gnome-shell!481,
glgo#GNOME/gnome-shell!490, glgo#GNOME/gnome-shell!489,
glgo#GNOME/gnome-shell#1151, glgo#GNOME/gnome-shell!435,
glgo#GNOME/gnome-shell#1160, glgo#GNOME/gnome-shell!482,
glgo#GNOME/gnome-shell#1150, glgo#GNOME/gnome-shell#1166,
glgo#GNOME/gnome-shell!384.
+ Updated translations.
- Drop gnome-shell-screenShield-Handle-signal-StatusChanged.patch:
fixed upstream.
-------------------------------------------------------------------
Fri Mar 29 06:47:44 UTC 2019 - xwang@suse.com
- Add gnome-shell-screenShield-Handle-signal-StatusChanged.patch:
Enable dimming screen when screen is locked (bsc#1118286,
glgo#GNOME/gnome-shell#900).
-------------------------------------------------------------------
Mon Mar 25 06:38:16 UTC 2019 - Chingkai <qkzhu@suse.com>
- Move
gnome-shell-fate324570-Make-GDM-background-image-configurable.patch
to PATCH-FEATURE-OPENSUSE since the related patch of
gsettings-desktop-schemas was rebased.
-------------------------------------------------------------------
Wed Mar 13 16:41:52 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Move
gnome-shell-fate324570-Make-GDM-background-image-configurable.patch
to be a SLE only patch.
-------------------------------------------------------------------
Wed Mar 13 07:19:37 UTC 2019 - Chingkai <qkzhu@suse.com>
- Rebase : the following patches are rebased to version 3.32.0
+ gnome-shell-Avoid-loginDialog-grab-focus-when-locked.patch
+ gnome-shell-disable-ibus-when-not-installed.patch
+ gnome-shell-fate324570-Make-GDM-background-image-configurable.patch
+ gnome-shell-private-connection.patch
-------------------------------------------------------------------
Tue Mar 12 06:29:05 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 3.32.0:
+ Fix sizing issues in on-screen-keyboard emoji panel.
+ Fix test linker failure on Debian/Ubuntu.
+ Avoid assertion when sizing fallback app icons from CSS.
+ Fix mis-sized menu arrows after texture cache changes.
+ Updated translations.
- Add typelib(Rsvg) Requires: Needed runtime dependency.
-------------------------------------------------------------------
Tue Mar 5 06:27:33 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 3.31.92:
+ Fix visual glitch in submenus.
+ Support fractional scaling.
+ Only consider visible children for :first-child/:last-child.
+ Hide trailing separator in search results.
+ Remember choice in inhibit-shortcuts dialogue.
+ Don't toggle on-screen keyboard on every focus change.
+ Fix legacy tray icons not responding to events on wayland.
+ Fix generating French OSK layout.
+ Use borderless round user images.
+ Misc. bug fixes and cleanups.
+ Updated translations.
- Drop gnome-shell-meson.patch: Fixed upstream.
-------------------------------------------------------------------
Fri Feb 22 06:38:15 UTC 2019 - bjorn.lie@gmail.com
- Update to version 3.31.91:
+ Don't close on-screen-keyboard's language menu on hover.
+ Don't let unfullscreen gesture interfere with top bar taps.
+ Always use symbolic user icon in system menu.
+ Add flags parameter in GrabAccelerators API.
+ Misc. bug fixes and cleanups.
+ Updated translations.
-------------------------------------------------------------------
Thu Feb 21 12:00:59 UTC 2019 - bjorn.lie@gmail.com
- Update to version 3.31.90:
+ Fix input methods after ibus restarts.
+ Refresh world clocks and weather sections.
+ Port to ES6 classes (update your extensions!).
+ networkAgent: Advise users when WPS support is available.
+ Performance improvements.
+ Fix drag-and-drop with wacom pens.
+ Fix CAPS LOCK indication on wayland.
+ Show details of non-sensitive notifications on lock screen.
+ Refine extension-prefs' error UI.
+ Add switch-to-application-n keybindings.
+ Remove top bar translucency.
+ Support emojis and keypads in on-screen keyboard.
+ Don't allow popups to re-enable keyboard shortcuts on lock
screen (CVE-2019-3820).
+ Replace app menu.
+ Include commonly copied+pasted extension helpers.
+ Misc. bug fixes and cleanups: glgo#GNOME/gnome-shell#780,
glgo#GNOME/gnome-shell#909, glgo#GNOME/gnome-shell!316,
glgo#GNOME/gnome-shell!308, glgo#GNOME/gnome-shell!309,
glgo#GNOME/gnome-shell#915, glgo#GNOME/gnome-shell!350,
glgo#GNOME/gnome-shell!362, glgo#GNOME/gnome-shell!357,
glgo#GNOME/gnome-shell!365, glgo#GNOME/gnome-shell!366,
glgo#GNOME/gnome-shell!283, glgo#GNOME/gnome-shell!367,
glgo#GNOME/gnome-shell#942, glgo#GNOME/gnome-shell!371,
glgo#GNOME/gnome-shell!373, glgo#GNOME/gnome-shell!374,
glgo#GNOME/gnome-shell!343, glgo#GNOME/gnome-shell!375,
glgo#GNOME/gnome-shell!292, glgo#GNOME/gnome-shell!317,
glgo#GNOME/gnome-shell!377, glgo#GNOME/gnome-shell!379,
glgo#GNOME/gnome-shell!346, glgo#GNOME/gnome-shell!383,
glgo#GNOME/gnome-shell#953, glgo#GNOME/gnome-shell!388.
+ Updated translations.
- Disable the following patches:
+ gnome-shell-private-connection.patch
+ gnome-shell-disable-ibus-when-not-installed.patch
+ gnome-shell-Avoid-loginDialog-grab-focus-when-locked.patch
+ gnome-shell-fate324570-Make-GDM-background-image-configurable.patch
- Drop
gnome-shell-disable-POPUP-keybindings-in-unlock-screen.patch:
Fixed upstream.
-------------------------------------------------------------------
Thu Feb 21 08:48:29 UTC 2019 - bjorn.lie@gmail.com
- Update to version 3.31.4:
+ Improve icon grid performance.
+ Remove browser plugin.
+ Add DBus API for introspecting the application state.
+ Always allow leaving the overview via the hot-corner.
+ Misc. bug fixes: bgo#643595, bgo#673767,
glgo#GNOME/gnome-shell!293, glgo#GNOME/gnome-shell#783,
glgo#GNOME/gnome-shell#781, glgo#GNOME/gnome-shell!298,
glgo#GNOME/gnome-shell!297, glgo#GNOME/gnome-shell#782,
glgo#GNOME/gnome-shell!301, glgo#GNOME/gnome-shell!314,
glgo#GNOME/gnome-shell!305, glgo#GNOME/gnome-shell#799,
glgo#GNOME/gnome-shell#632, glgo#GNOME/gnome-shell!327.
+ Updated translations.
- Drop gnome-shell-browser-plugin subpackage following upstream.
Obsolete it from the main package.
- Replace pkgconfig(libmutter-3), pkgconfig(mutter-clutter-3),
pkgconfig(mutter-cogl-3) and pkgconfig(mutter-cogl-pango-3)
BuildRequires with pkgconfig(libmutter-4),
pkgconfig(mutter-clutter-4), pkgconfig(mutter-cogl-4) and
pkgconfig(mutter-cogl-pango-4) BuildRequires.
- Drop upstream fixed patches:
+ gnome-shell-ibusManager-Dont-pass-undefined-callback.patch.
+ gnome-shell-altSwitcher-Fix-error-when-alternatives-are-disabled.patch.
+ gnome-shell-dash-Destroy-items-child-before-tooltip.patch.
+ gnome-shell-st-button-Ignore-pointer-emulated-touch-events.patch.
+ gnome-shell-Do-not-call-KeyboardManager.holdKeyboard.patch.
+ gnome-shell-panel-Dont-allow-opening-hidden-menus.patch: panel
+ gnome-shell-inputMethod-Avoid-calling-set_preedit_text.patch.
+ gnome-shell-inputMethod-Keep-track-preedit-string-visibility.patch.
-------------------------------------------------------------------
Thu Feb 21 08:48:28 UTC 2019 - bjorn.lie@gmail.com
- Update to version 3.31.2:
+ Port away from and remove ShellGenericContainer.
+ popupMenu: Fix keyboard activation when numlock is active.
+ Do not block all shortcuts while app folders are expanded.
+ Fix regression in handling new input sources.
+ Reask password after udisk errors for no/wrong passwords.
+ Improve performance of app icon animations.
+ Avoid focus changes when updating keyboard options.
+ notifications: Support icon theme names in 'image-path' hint.
+ Respect natural-scroll setting for workspace swipe gesture.
+ Confine window preview titles to workspace area.
+ Misc. bug fixes.
+ Updated translations.
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Feb 21 08:48:27 UTC 2019 - bjorn.lie@gmail.com Thu Feb 21 08:48:27 UTC 2019 - bjorn.lie@gmail.com

View File

@ -18,20 +18,17 @@
%global __requires_exclude typelib\\(Meta\\) %global __requires_exclude typelib\\(Meta\\)
Name: gnome-shell Name: gnome-shell
Version: 3.30.2 Version: 3.32.1
Release: 0 Release: 0
Summary: GNOME Shell Summary: GNOME Shell
License: GPL-2.0-or-later License: GPL-2.0-or-later
Group: System/GUI/GNOME Group: System/GUI/GNOME
URL: https://wiki.gnome.org/Projects/GnomeShell URL: https://wiki.gnome.org/Projects/GnomeShell
Source0: https://download.gnome.org/sources/gnome-shell/3.30/%{name}-%{version}.tar.xz Source0: https://download.gnome.org/sources/gnome-shell/3.32/%{name}-%{version}.tar.xz
# SOURCE-FEATURE-SLE aboutMenu fate#314545 dliang@suse.com -- Add an applet on login UI to display suse icon, product name, hostname. # SOURCE-FEATURE-SLE aboutMenu fate#314545 dliang@suse.com -- Add an applet on login UI to display suse icon, product name, hostname.
Source1: aboutMenu.js Source1: aboutMenu.js
# SOURCE-FEATURE-SLE sle-background bsc#1007468 xwang@suse.com -- Add SUSE logo on lock screen for GNOME theme # SOURCE-FEATURE-SLE sle-background bsc#1007468 xwang@suse.com -- Add SUSE logo on lock screen for GNOME theme
Source2: sle-background.png Source2: sle-background.png
# PATCH-FIX-OPENSUSE gnome-shell-meson.patch dimstar@opensuse.org -- Fix rpath statement for gvc (needs validation, upstream fix)
Patch0: gnome-shell-meson.patch
# PATCH-FIX-UPSTREAM gnome-shell-private-connection.patch bnc#751211 bgo#646187 dimstar@opensuse.org -- create private connections if the user is not authorized # PATCH-FIX-UPSTREAM gnome-shell-private-connection.patch bnc#751211 bgo#646187 dimstar@opensuse.org -- create private connections if the user is not authorized
Patch1: gnome-shell-private-connection.patch Patch1: gnome-shell-private-connection.patch
# PATCH-FIX-OPENSUSE gnome-shell-disable-ibus-when-not-installed.patch bsc#987360 qzhao@suse.com -- disable ibus start when outof Chinese, Japanese, Korean area # PATCH-FIX-OPENSUSE gnome-shell-disable-ibus-when-not-installed.patch bsc#987360 qzhao@suse.com -- disable ibus start when outof Chinese, Japanese, Korean area
@ -40,25 +37,6 @@ Patch2: gnome-shell-disable-ibus-when-not-installed.patch
Patch3: gnome-shell-Avoid-loginDialog-grab-focus-when-locked.patch Patch3: gnome-shell-Avoid-loginDialog-grab-focus-when-locked.patch
# PATCH-FEATURE-OPENSUSE gnome-shell-fate324570-Make-GDM-background-image-configurable.patch fate#324570, glgo#GNOME/gnome-shell#680 qkzhu@suse.com -- make GDM background image configurable # PATCH-FEATURE-OPENSUSE gnome-shell-fate324570-Make-GDM-background-image-configurable.patch fate#324570, glgo#GNOME/gnome-shell#680 qkzhu@suse.com -- make GDM background image configurable
Patch4: gnome-shell-fate324570-Make-GDM-background-image-configurable.patch Patch4: gnome-shell-fate324570-Make-GDM-background-image-configurable.patch
# PATCH-FIX-UPSTREAM gnome-shell-ibusManager-Dont-pass-undefined-callback.patch -- ibusManager: Don't pass undefined callback to ibus
Patch5: gnome-shell-ibusManager-Dont-pass-undefined-callback.patch
# PATCH-FIX-UPSTREAM gnome-shell-altSwitcher-Fix-error-when-alternatives-are-disabled.patch -- AltSwitcher: Fix error when all alternatives are disabled
Patch6: gnome-shell-altSwitcher-Fix-error-when-alternatives-are-disabled.patch
# PATCH-FIX-UPSTREAM gnome-shell-dash-Destroy-items-child-before-tooltip.patch -- dash: destroy items's child before tooltip
Patch7: gnome-shell-dash-Destroy-items-child-before-tooltip.patch
# PATCH-FIX-UPSTREAM gnome-shell-st-button-Ignore-pointer-emulated-touch-events.patch -- st-button: Ignore pointer emulated touch events
Patch8: gnome-shell-st-button-Ignore-pointer-emulated-touch-events.patch
# PATCH-FIX-UPSTREAM gnome-shell-Do-not-call-KeyboardManager.holdKeyboard.patch -- keyboard: Do not call KeyboardManager.holdKeyboard() with set-content-type
Patch9: gnome-shell-Do-not-call-KeyboardManager.holdKeyboard.patch
# PATCH-FIX-UPSTREAM gnome-shell-panel-Dont-allow-opening-hidden-menus.patch -- panel: Don't allow opening hidden menus via keybindings
Patch10: gnome-shell-panel-Dont-allow-opening-hidden-menus.patch
# PATCH-FIX-UPSTREAM gnome-shell-disable-POPUP-keybindings-in-unlock-screen.patch -- shellActionModes: disable POPUP keybindings in unlock screen
Patch11: gnome-shell-disable-POPUP-keybindings-in-unlock-screen.patch
# PATCH-FIX-UPSTREAM gnome-shell-inputMethod-Avoid-calling-set_preedit_text.patch -- inputMethod: Avoid calling set_preedit_text() if unnecessary
Patch12: gnome-shell-inputMethod-Avoid-calling-set_preedit_text.patch
# PATCH-FIX-UPSTREAM gnome-shell-inputMethod-Keep-track-preedit-string-visibility.patch -- inputMethod: Keep track of preedit string visibility
Patch13: gnome-shell-inputMethod-Keep-track-preedit-string-visibility.patch
## NOTE: Keep SLE-only patches at bottom (starting on 1000). ## 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. # 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.
Patch1001: gnome-shell-gdm-login-applet.patch Patch1001: gnome-shell-gdm-login-applet.patch
@ -76,7 +54,6 @@ Patch1006: gnome-shell-lock-bg-on-primary.patch
Patch1007: gs-fate318433-prevent-same-account-multi-logins.patch Patch1007: gs-fate318433-prevent-same-account-multi-logins.patch
# PATCH-FEATURE-SLE gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch xwang@suse.com -- Add SUSE logo on lock screen for GNOME theme. # PATCH-FEATURE-SLE gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch xwang@suse.com -- Add SUSE logo on lock screen for GNOME theme.
Patch1008: gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch Patch1008: gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch
# needed for directory ownership # needed for directory ownership
BuildRequires: dbus-1 BuildRequires: dbus-1
BuildRequires: docbook-xsl-stylesheets BuildRequires: docbook-xsl-stylesheets
@ -85,6 +62,7 @@ BuildRequires: gcc-c++
BuildRequires: gtk-doc BuildRequires: gtk-doc
BuildRequires: meson >= 0.47.0 BuildRequires: meson >= 0.47.0
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: python(abi) >= 3
BuildRequires: sassc BuildRequires: sassc
BuildRequires: translation-update-upstream BuildRequires: translation-update-upstream
BuildRequires: xsltproc BuildRequires: xsltproc
@ -112,7 +90,7 @@ BuildRequires: pkgconfig(libcroco-0.6) >= 0.6.8
BuildRequires: pkgconfig(libecal-1.2) >= 3.5.3 BuildRequires: pkgconfig(libecal-1.2) >= 3.5.3
BuildRequires: pkgconfig(libedataserver-1.2) >= 3.17.2 BuildRequires: pkgconfig(libedataserver-1.2) >= 3.17.2
BuildRequires: pkgconfig(libgnome-menu-3.0) >= 3.5.3 BuildRequires: pkgconfig(libgnome-menu-3.0) >= 3.5.3
BuildRequires: pkgconfig(libmutter-3) >= 3.30.0 BuildRequires: pkgconfig(libmutter-4) >= 3.32.0
BuildRequires: pkgconfig(libnm) >= 1.10.4 BuildRequires: pkgconfig(libnm) >= 1.10.4
BuildRequires: pkgconfig(libpulse) >= 2.0 BuildRequires: pkgconfig(libpulse) >= 2.0
BuildRequires: pkgconfig(libpulse-mainloop-glib) BuildRequires: pkgconfig(libpulse-mainloop-glib)
@ -121,12 +99,11 @@ BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libstartup-notification-1.0) >= 0.11 BuildRequires: pkgconfig(libstartup-notification-1.0) >= 0.11
BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(mutter-clutter-3) >= 3.30.0 BuildRequires: pkgconfig(mutter-clutter-4) >= 3.32.0
BuildRequires: pkgconfig(mutter-cogl-3) >= 3.30.0 BuildRequires: pkgconfig(mutter-cogl-4) >= 3.32.0
BuildRequires: pkgconfig(mutter-cogl-pango-3) >= 3.30.0 BuildRequires: pkgconfig(mutter-cogl-pango-4) >= 3.32.0
BuildRequires: pkgconfig(polkit-agent-1) >= 0.100 BuildRequires: pkgconfig(polkit-agent-1) >= 0.100
BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(x11)
BuildRequires: python(abi) >= 3
Requires: gdk-pixbuf-loader-rsvg Requires: gdk-pixbuf-loader-rsvg
# "System settings" menu item # "System settings" menu item
Requires: gnome-control-center Requires: gnome-control-center
@ -138,6 +115,7 @@ Requires: gnome-themes-accessibility
Requires: gsettings-desktop-schemas Requires: gsettings-desktop-schemas
# Due to now private typelib(Meta) # Due to now private typelib(Meta)
Requires: mutter Requires: mutter
Requires: typelib(Rsvg)
Recommends: %{name}-calendar Recommends: %{name}-calendar
## Finally, dependencies for session services that are needed for system icons and the user menu ## Finally, dependencies for session services that are needed for system icons and the user menu
# bluetooth system icon # bluetooth system icon
@ -147,6 +125,8 @@ Recommends: gnome-bluetooth
Recommends: gnome-clocks Recommends: gnome-clocks
# gnome-shell implements the dbus interface org.freedesktop.Notifications directly # gnome-shell implements the dbus interface org.freedesktop.Notifications directly
Provides: dbus(org.freedesktop.Notifications) Provides: dbus(org.freedesktop.Notifications)
# gnome-shell-browser-plugin dropped in 3.31.4
Obsoletes: gnome-shell-browser-plugin <= %{version}
%description %description
The GNOME Shell redefines user interactions with the GNOME desktop. In The GNOME Shell redefines user interactions with the GNOME desktop. In
@ -163,19 +143,6 @@ The GNOME Shell redefines user interactions with the GNOME desktop. In
particular, it offers new paradigms for launching applications, accessing particular, it offers new paradigms for launching applications, accessing
documents, and organizing open windows in GNOME. documents, and organizing open windows in GNOME.
%package browser-plugin
Summary: GNOME Shell Browser Plugin for the Extensions Repository
Group: System/GUI/GNOME
Requires: %{name} = %{version}
Supplements: packageand(%{name}:epiphany)
%description browser-plugin
The GNOME Shell Browser Plugin provides integration with gnome-shell
and the corresponding extensions repository. The plugin allows the
extensions repository to provide good integration, letting the website
know which extensions are enabled and disabled, and allowing the website
to enable, disable and install them.
%package calendar %package calendar
Summary: Evolution Calendar support for GNOME Shell Summary: Evolution Calendar support for GNOME Shell
Group: System/GUI/GNOME Group: System/GUI/GNOME
@ -192,20 +159,11 @@ into GNOME Shell calendar.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
translation-update-upstream translation-update-upstream
%if !0%{?is_opensuse} %if !0%{?is_opensuse}
@ -218,6 +176,7 @@ translation-update-upstream
%patch1007 -p1 %patch1007 -p1
%patch1008 -p1 %patch1008 -p1
%endif %endif
%if !0%{?is_opensuse} %if !0%{?is_opensuse}
cp %{SOURCE1} js/ui/ cp %{SOURCE1} js/ui/
cp %{SOURCE2} data/theme/ cp %{SOURCE2} data/theme/
@ -226,11 +185,10 @@ cp %{SOURCE2} data/theme/
%build %build
%meson \ %meson \
--libexecdir=%{_libexecdir}/%{name} \ --libexecdir=%{_libexecdir}/%{name} \
-D browser-plugin=true \ -Dgtk_doc=true \
-D gtk_doc=true \ -Dman=true \
-D man=true \ -Dnetworkmanager=true \
-D networkmanager=true \ -Dsystemd=true \
-D systemd=true \
%{nil} %{nil}
%meson_build %meson_build
@ -258,7 +216,7 @@ install -d %{buildroot}%{_datadir}/gnome-shell/modes
%{_libexecdir}/gnome-shell/gnome-shell-portal-helper %{_libexecdir}/gnome-shell/gnome-shell-portal-helper
%{_libdir}/gnome-shell/Gvc-1.0.typelib %{_libdir}/gnome-shell/Gvc-1.0.typelib
%{_libdir}/gnome-shell/Shell-0.1.typelib %{_libdir}/gnome-shell/Shell-0.1.typelib
%{_libdir}/gnome-shell/ShellMenu-0.1.typelib #%%{_libdir}/gnome-shell/ShellMenu-0.1.typelib
%{_libdir}/gnome-shell/St-1.0.typelib %{_libdir}/gnome-shell/St-1.0.typelib
%{_libdir}/gnome-shell/libgnome-shell-menu.so %{_libdir}/gnome-shell/libgnome-shell-menu.so
%{_libdir}/gnome-shell/libgnome-shell.so %{_libdir}/gnome-shell/libgnome-shell.so
@ -271,6 +229,7 @@ install -d %{buildroot}%{_datadir}/gnome-shell/modes
%{_datadir}/applications/gnome-shell-extension-prefs.desktop %{_datadir}/applications/gnome-shell-extension-prefs.desktop
%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop %{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Extensions.xml %{_datadir}/dbus-1/interfaces/org.gnome.Shell.Extensions.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Introspect.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.PadOsd.xml %{_datadir}/dbus-1/interfaces/org.gnome.Shell.PadOsd.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screencast.xml %{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screencast.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml %{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml
@ -306,12 +265,6 @@ install -d %{buildroot}%{_datadir}/gnome-shell/modes
%{_bindir}/gnome-shell-perf-tool %{_bindir}/gnome-shell-perf-tool
%{_datadir}/gnome-shell/*.gir %{_datadir}/gnome-shell/*.gir
%files browser-plugin
%doc browser-plugin/README.md
%dir %{_libdir}/mozilla/plugins/
%dir %{_libdir}/mozilla
%{_libdir}/mozilla/plugins/libgnome-shell-browser-plugin.*
%files calendar %files calendar
%{_datadir}/applications/evolution-calendar.desktop %{_datadir}/applications/evolution-calendar.desktop
%{_libexecdir}/gnome-shell/gnome-shell-calendar-server %{_libexecdir}/gnome-shell/gnome-shell-calendar-server