!25 Upgrade to 3.38.4
From: @weijin-deng Reviewed-by: @dwl301 Signed-off-by: @dwl301
This commit is contained in:
commit
4df1a90d12
File diff suppressed because it is too large
Load Diff
@ -1,56 +0,0 @@
|
|||||||
From 68b038ba1ee10cb957eec56fec435e3cfeffd20d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Wed, 15 Aug 2018 14:26:19 +0200
|
|
||||||
Subject: [PATCH 1/2] endSessionDialog: Immediately add buttons to the dialog
|
|
||||||
|
|
||||||
Immediately add buttons to the dialog instead of first building an
|
|
||||||
array of button-info structs.
|
|
||||||
|
|
||||||
This is a preparation patch for adding support changing the "Reboot"
|
|
||||||
button into a "Boot Options" button when Alt is pressed.
|
|
||||||
---
|
|
||||||
js/ui/endSessionDialog.js | 17 +++++++++--------
|
|
||||||
1 file changed, 9 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
|
|
||||||
index 4804333d4..5657cbffd 100644
|
|
||||||
--- a/js/ui/endSessionDialog.js
|
|
||||||
+++ b/js/ui/endSessionDialog.js
|
|
||||||
@@ -437,25 +437,26 @@ var EndSessionDialog = new Lang.Class({
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateButtons() {
|
|
||||||
- let dialogContent = DialogContent[this._type];
|
|
||||||
- let buttons = [{ action: this.cancel.bind(this),
|
|
||||||
+ this.clearButtons();
|
|
||||||
+
|
|
||||||
+ this.addButton({ action: this.cancel.bind(this),
|
|
||||||
label: _("Cancel"),
|
|
||||||
- key: Clutter.Escape }];
|
|
||||||
+ key: Clutter.Escape });
|
|
||||||
|
|
||||||
+ let dialogContent = DialogContent[this._type];
|
|
||||||
for (let i = 0; i < dialogContent.confirmButtons.length; i++) {
|
|
||||||
let signal = dialogContent.confirmButtons[i].signal;
|
|
||||||
let label = dialogContent.confirmButtons[i].label;
|
|
||||||
- buttons.push({ action: () => {
|
|
||||||
+ let button = this.addButton(
|
|
||||||
+ { action: () => {
|
|
||||||
this.close(true);
|
|
||||||
let signalId = this.connect('closed', () => {
|
|
||||||
this.disconnect(signalId);
|
|
||||||
this._confirm(signal);
|
|
||||||
});
|
|
||||||
- },
|
|
||||||
- label: label });
|
|
||||||
+ },
|
|
||||||
+ label: label });
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- this.setButtons(buttons);
|
|
||||||
},
|
|
||||||
|
|
||||||
close(skipSignal) {
|
|
||||||
--
|
|
||||||
2.19.0
|
|
||||||
|
|
||||||
@ -1,68 +0,0 @@
|
|||||||
From ccc59673827f9e36b7374fcf03de94d1b1513550 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Carlos Garnacho <carlosg@gnome.org>
|
|
||||||
Date: Mon, 22 Oct 2018 22:06:36 +0000
|
|
||||||
Subject: [PATCH] keyboardManager: Avoid idempotent calls to
|
|
||||||
meta_backend_set_keymap()
|
|
||||||
|
|
||||||
But still try to apply the keymap whenever the input sources changed. This
|
|
||||||
is a different approach to gnome-shell#240 that still avoid redundant
|
|
||||||
changes to the current keymap, but actually trigger one when input sources
|
|
||||||
are added.
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1637418
|
|
||||||
|
|
||||||
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/691
|
|
||||||
|
|
||||||
|
|
||||||
(cherry picked from commit b405ed64427a9d518d1714df678d04ad11267e15)
|
|
||||||
---
|
|
||||||
js/misc/keyboardManager.js | 14 +++++++++-----
|
|
||||||
1 file changed, 9 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/misc/keyboardManager.js b/js/misc/keyboardManager.js
|
|
||||||
index ae59f0014..f4001f130 100644
|
|
||||||
--- a/js/misc/keyboardManager.js
|
|
||||||
+++ b/js/misc/keyboardManager.js
|
|
||||||
@@ -52,11 +52,20 @@ var KeyboardManager = new Lang.Class({
|
|
||||||
this._current = null;
|
|
||||||
this._localeLayoutInfo = this._getLocaleLayout();
|
|
||||||
this._layoutInfos = {};
|
|
||||||
+ this._currentKeymap = null;
|
|
||||||
},
|
|
||||||
|
|
||||||
_applyLayoutGroup(group) {
|
|
||||||
let options = this._buildOptionsString();
|
|
||||||
let [layouts, variants] = this._buildGroupStrings(group);
|
|
||||||
+
|
|
||||||
+ if (this._currentKeymap &&
|
|
||||||
+ this._currentKeymap.layouts == layouts &&
|
|
||||||
+ this._currentKeymap.variants == variants &&
|
|
||||||
+ this._currentKeymap.options == options)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ this._currentKeymap = {layouts, variants, options};
|
|
||||||
Meta.get_backend().set_keymap(layouts, variants, options);
|
|
||||||
},
|
|
||||||
|
|
||||||
@@ -89,8 +98,6 @@ var KeyboardManager = new Lang.Class({
|
|
||||||
},
|
|
||||||
|
|
||||||
setUserLayouts(ids) {
|
|
||||||
- let currentId = this._current ? this._current.id : null;
|
|
||||||
- let currentGroupIndex = this._current ? this._current.groupIndex : null;
|
|
||||||
this._current = null;
|
|
||||||
this._layoutInfos = {};
|
|
||||||
|
|
||||||
@@ -117,9 +124,6 @@ var KeyboardManager = new Lang.Class({
|
|
||||||
info.group = group;
|
|
||||||
info.groupIndex = groupIndex;
|
|
||||||
|
|
||||||
- if (currentId == id && currentGroupIndex == groupIndex)
|
|
||||||
- this._current = info;
|
|
||||||
-
|
|
||||||
i += 1;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
||||||
@ -1,115 +0,0 @@
|
|||||||
From 345278af9b7139d12e393d6b18abfe055172dedd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Wed, 15 Aug 2018 15:03:56 +0200
|
|
||||||
Subject: [PATCH 2/2] endSessionDialog: Support rebooting into the bootloader
|
|
||||||
menu aka ("Boot Options")
|
|
||||||
|
|
||||||
This implements the "Alt" behavior for the "Reboot" button as outlined in
|
|
||||||
the design here: https://wiki.gnome.org/Design/OS/BootOptions
|
|
||||||
|
|
||||||
This causes the endSessionDialog to send a ConfirmedRebootToBootOptions signal
|
|
||||||
to gnome-session instead of the normal ConfirmedReboot signal, actually
|
|
||||||
telling the boot-loader that it should show its menu the next boot is left
|
|
||||||
up to gnome-session.
|
|
||||||
|
|
||||||
Note I've tried implementing this with the AltSwitcher class from
|
|
||||||
js/ui/status/system.js first, but that puts the button in a St.Bin()
|
|
||||||
which causes the button to think it is the only button on the dialog
|
|
||||||
and makes it have rounded corners on both of its bottom corners.
|
|
||||||
---
|
|
||||||
js/ui/endSessionDialog.js | 50 +++++++++++++++++++++++++++++++++++++++
|
|
||||||
1 file changed, 50 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
|
|
||||||
index 5657cbffd..bfc64a7d6 100644
|
|
||||||
--- a/js/ui/endSessionDialog.js
|
|
||||||
+++ b/js/ui/endSessionDialog.js
|
|
||||||
@@ -271,6 +271,9 @@ var EndSessionDialog = new Lang.Class({
|
|
||||||
this._totalSecondsToStayOpen = 0;
|
|
||||||
this._applications = [];
|
|
||||||
this._sessions = [];
|
|
||||||
+ this._capturedEventId = 0;
|
|
||||||
+ this._rebootButton = null;
|
|
||||||
+ this._rebootButtonAlt = null;
|
|
||||||
|
|
||||||
this.connect('destroy',
|
|
||||||
this._onDestroy.bind(this));
|
|
||||||
@@ -436,6 +439,26 @@ var EndSessionDialog = new Lang.Class({
|
|
||||||
this._sessionHeader.visible = hasSessions;
|
|
||||||
},
|
|
||||||
|
|
||||||
+ _onCapturedEvent(actor, event) {
|
|
||||||
+ let altEnabled = false;
|
|
||||||
+
|
|
||||||
+ let type = event.type();
|
|
||||||
+ if (type != Clutter.EventType.KEY_PRESS && type != Clutter.EventType.KEY_RELEASE)
|
|
||||||
+ return Clutter.EVENT_PROPAGATE;
|
|
||||||
+
|
|
||||||
+ let key = event.get_key_symbol();
|
|
||||||
+ if (key != Clutter.KEY_Alt_L && key != Clutter.KEY_Alt_R)
|
|
||||||
+ return Clutter.EVENT_PROPAGATE;
|
|
||||||
+
|
|
||||||
+ if (type == Clutter.EventType.KEY_PRESS)
|
|
||||||
+ altEnabled = true;
|
|
||||||
+
|
|
||||||
+ this._rebootButton.visible = !altEnabled;
|
|
||||||
+ this._rebootButtonAlt.visible = altEnabled;
|
|
||||||
+
|
|
||||||
+ return Clutter.EVENT_PROPAGATE;
|
|
||||||
+ },
|
|
||||||
+
|
|
||||||
_updateButtons() {
|
|
||||||
this.clearButtons();
|
|
||||||
|
|
||||||
@@ -456,7 +479,32 @@ var EndSessionDialog = new Lang.Class({
|
|
||||||
});
|
|
||||||
},
|
|
||||||
label: label });
|
|
||||||
+
|
|
||||||
+ // Add Alt "Boot Options" option to the Reboot button
|
|
||||||
+ if (signal == 'ConfirmedReboot') {
|
|
||||||
+ this._rebootButton = button;
|
|
||||||
+ this._rebootButtonAlt = this.addButton(
|
|
||||||
+ { action: () => {
|
|
||||||
+ this.close(true);
|
|
||||||
+ let signalId = this.connect('closed', () => {
|
|
||||||
+ this.disconnect(signalId);
|
|
||||||
+ this._confirm('ConfirmedRebootToBootOptions');
|
|
||||||
+ });
|
|
||||||
+ },
|
|
||||||
+ label: C_("button", "Boot Options") });
|
|
||||||
+ this._rebootButtonAlt.visible = false;
|
|
||||||
+ this._capturedEventId = global.stage.connect('captured-event', this._onCapturedEvent.bind(this));
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ },
|
|
||||||
+
|
|
||||||
+ _stopAltCapture() {
|
|
||||||
+ if (this._capturedEventId > 0) {
|
|
||||||
+ global.stage.disconnect(this._capturedEventId);
|
|
||||||
+ this._capturedEventId = 0;
|
|
||||||
}
|
|
||||||
+ this._rebootButton = null;
|
|
||||||
+ this._rebootButtonAlt = null;
|
|
||||||
},
|
|
||||||
|
|
||||||
close(skipSignal) {
|
|
||||||
@@ -468,6 +516,7 @@ var EndSessionDialog = new Lang.Class({
|
|
||||||
|
|
||||||
cancel() {
|
|
||||||
this._stopTimer();
|
|
||||||
+ this._stopAltCapture();
|
|
||||||
this._dbusImpl.emit_signal('Canceled', null);
|
|
||||||
this.close();
|
|
||||||
},
|
|
||||||
@@ -476,6 +525,7 @@ var EndSessionDialog = new Lang.Class({
|
|
||||||
let callback = () => {
|
|
||||||
this._fadeOutDialog();
|
|
||||||
this._stopTimer();
|
|
||||||
+ this._stopAltCapture();
|
|
||||||
this._dbusImpl.emit_signal(signal, null);
|
|
||||||
};
|
|
||||||
|
|
||||||
--
|
|
||||||
2.19.0
|
|
||||||
|
|
||||||
@ -1,265 +0,0 @@
|
|||||||
From e2f0647091b2475f78c0a52c0acef5f1be4d52d9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Tue, 30 Mar 2021 14:42:11 +0800
|
|
||||||
Subject: [PATCH] cleanup: Use arrow functions for tweener callbacks
|
|
||||||
|
|
||||||
While it is legal to use method syntax for the function properties
|
|
||||||
here, arrow notation is less unexpected and allows us to drop the
|
|
||||||
separate scope properties.
|
|
||||||
|
|
||||||
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/608
|
|
||||||
|
|
||||||
---
|
|
||||||
js/gdm/authPrompt.js | 3 +--
|
|
||||||
js/gdm/loginDialog.js | 16 ++++++----------
|
|
||||||
js/ui/dnd.js | 5 ++---
|
|
||||||
js/ui/messageList.js | 3 +--
|
|
||||||
js/ui/panel.js | 8 +++-----
|
|
||||||
js/ui/popupMenu.js | 12 ++++--------
|
|
||||||
js/ui/screenShield.js | 15 ++++++---------
|
|
||||||
js/ui/workspaceSwitcherPopup.js | 3 +--
|
|
||||||
js/ui/workspaceThumbnail.js | 5 ++---
|
|
||||||
9 files changed, 26 insertions(+), 44 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
|
|
||||||
index a0a4a21..a6a0374 100644
|
|
||||||
--- a/js/gdm/authPrompt.js
|
|
||||||
+++ b/js/gdm/authPrompt.js
|
|
||||||
@@ -302,8 +302,7 @@ var AuthPrompt = new Lang.Class({
|
|
||||||
time: DEFAULT_BUTTON_WELL_ANIMATION_TIME,
|
|
||||||
delay: DEFAULT_BUTTON_WELL_ANIMATION_DELAY,
|
|
||||||
transition: 'linear',
|
|
||||||
- onCompleteScope: this,
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
if (wasSpinner) {
|
|
||||||
if (this._spinner)
|
|
||||||
this._spinner.stop();
|
|
||||||
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
|
|
||||||
index bf79677..0e0001f 100644
|
|
||||||
--- a/js/gdm/loginDialog.js
|
|
||||||
+++ b/js/gdm/loginDialog.js
|
|
||||||
@@ -926,7 +926,7 @@ var LoginDialog = new Lang.Class({
|
|
||||||
{ opacity: 255,
|
|
||||||
time: _FADE_ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onUpdate() {
|
|
||||||
+ onUpdate: () => {
|
|
||||||
let children = Main.layoutManager.uiGroup.get_children();
|
|
||||||
|
|
||||||
for (let i = 0; i < children.length; i++) {
|
|
||||||
@@ -934,12 +934,10 @@ var LoginDialog = new Lang.Class({
|
|
||||||
children[i].opacity = this.actor.opacity;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
- onUpdateScope: this,
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
|
|
||||||
this._authPrompt.reset();
|
|
||||||
- },
|
|
||||||
- onCompleteScope: this });
|
|
||||||
+ } });
|
|
||||||
},
|
|
||||||
|
|
||||||
_gotGreeterSessionProxy(proxy) {
|
|
||||||
@@ -956,7 +954,7 @@ var LoginDialog = new Lang.Class({
|
|
||||||
{ opacity: 0,
|
|
||||||
time: _FADE_ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onUpdate() {
|
|
||||||
+ onUpdate: () => {
|
|
||||||
let children = Main.layoutManager.uiGroup.get_children();
|
|
||||||
|
|
||||||
for (let i = 0; i < children.length; i++) {
|
|
||||||
@@ -964,11 +962,9 @@ var LoginDialog = new Lang.Class({
|
|
||||||
children[i].opacity = this.actor.opacity;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
- onUpdateScope: this,
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
this._greeter.call_start_session_when_ready_sync(serviceName, true, null);
|
|
||||||
- },
|
|
||||||
- onCompleteScope: this });
|
|
||||||
+ } });
|
|
||||||
},
|
|
||||||
|
|
||||||
_onSessionOpened(client, serviceName) {
|
|
||||||
diff --git a/js/ui/dnd.js b/js/ui/dnd.js
|
|
||||||
index 8483e89..83778e0 100644
|
|
||||||
--- a/js/ui/dnd.js
|
|
||||||
+++ b/js/ui/dnd.js
|
|
||||||
@@ -385,14 +385,13 @@ var _Draggable = new Lang.Class({
|
|
||||||
scale_y: scale * origScale,
|
|
||||||
time: SCALE_ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onUpdate() {
|
|
||||||
+ onUpdate: () => {
|
|
||||||
let currentScale = this._dragActor.scale_x / origScale;
|
|
||||||
this._dragOffsetX = currentScale * origDragOffsetX;
|
|
||||||
this._dragOffsetY = currentScale * origDragOffsetY;
|
|
||||||
this._dragActor.set_position(this._dragX + this._dragOffsetX,
|
|
||||||
this._dragY + this._dragOffsetY);
|
|
||||||
- },
|
|
||||||
- onUpdateScope: this });
|
|
||||||
+ } });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
diff --git a/js/ui/messageList.js b/js/ui/messageList.js
|
|
||||||
index 547135a..91670ba 100644
|
|
||||||
--- a/js/ui/messageList.js
|
|
||||||
+++ b/js/ui/messageList.js
|
|
||||||
@@ -483,8 +483,7 @@ var Message = new Lang.Class({
|
|
||||||
{ scale_y: 0,
|
|
||||||
time: MessageTray.ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onCompleteScope: this,
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
this._actionBin.hide();
|
|
||||||
this.expanded = false;
|
|
||||||
}});
|
|
||||||
diff --git a/js/ui/panel.js b/js/ui/panel.js
|
|
||||||
index 3726b84..318ca52 100644
|
|
||||||
--- a/js/ui/panel.js
|
|
||||||
+++ b/js/ui/panel.js
|
|
||||||
@@ -174,10 +174,9 @@ var AppMenuButton = new Lang.Class({
|
|
||||||
{ opacity: 0,
|
|
||||||
time: Overview.ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
this.actor.hide();
|
|
||||||
- },
|
|
||||||
- onCompleteScope: this });
|
|
||||||
+ } });
|
|
||||||
},
|
|
||||||
|
|
||||||
_onStyleChanged(actor) {
|
|
||||||
@@ -219,8 +218,7 @@ var AppMenuButton = new Lang.Class({
|
|
||||||
{ opacity: 0,
|
|
||||||
time: SPINNER_ANIMATION_TIME,
|
|
||||||
transition: "easeOutQuad",
|
|
||||||
- onCompleteScope: this,
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
this._spinner.stop();
|
|
||||||
this._spinner.actor.opacity = 255;
|
|
||||||
this._spinner.actor.hide();
|
|
||||||
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
|
|
||||||
index f449d6e..3d92a1a 100644
|
|
||||||
--- a/js/ui/popupMenu.js
|
|
||||||
+++ b/js/ui/popupMenu.js
|
|
||||||
@@ -1004,12 +1004,10 @@ var PopupSubMenu = new Lang.Class({
|
|
||||||
{ _arrowRotation: targetAngle,
|
|
||||||
height: naturalHeight,
|
|
||||||
time: 0.25,
|
|
||||||
- onUpdateScope: this,
|
|
||||||
- onUpdate() {
|
|
||||||
+ onUpdate: () => {
|
|
||||||
this._arrow.rotation_angle_z = this.actor._arrowRotation;
|
|
||||||
},
|
|
||||||
- onCompleteScope: this,
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
this.actor.set_height(-1);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@@ -1037,12 +1035,10 @@ var PopupSubMenu = new Lang.Class({
|
|
||||||
{ _arrowRotation: 0,
|
|
||||||
height: 0,
|
|
||||||
time: 0.25,
|
|
||||||
- onUpdateScope: this,
|
|
||||||
- onUpdate() {
|
|
||||||
+ onUpdate: () => {
|
|
||||||
this._arrow.rotation_angle_z = this.actor._arrowRotation;
|
|
||||||
},
|
|
||||||
- onCompleteScope: this,
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
this.actor.hide();
|
|
||||||
this.actor.set_height(-1);
|
|
||||||
},
|
|
||||||
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
|
|
||||||
index dee290b..72d1317 100644
|
|
||||||
--- a/js/ui/screenShield.js
|
|
||||||
+++ b/js/ui/screenShield.js
|
|
||||||
@@ -265,11 +265,10 @@ var NotificationsBox = new Lang.Class({
|
|
||||||
{ height: natHeight,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
time: 0.25,
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
this._scrollView.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC;
|
|
||||||
widget.set_height(-1);
|
|
||||||
- },
|
|
||||||
- onCompleteScope: this
|
|
||||||
+ }
|
|
||||||
});
|
|
||||||
|
|
||||||
this._updateVisibility();
|
|
||||||
@@ -795,11 +794,10 @@ var ScreenShield = new Lang.Class({
|
|
||||||
{ y: 0,
|
|
||||||
time: time,
|
|
||||||
transition: 'easeInQuad',
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
this._lockScreenGroup.fixed_position_set = false;
|
|
||||||
this._lockScreenState = MessageTray.State.SHOWN;
|
|
||||||
- },
|
|
||||||
- onCompleteScope: this,
|
|
||||||
+ }
|
|
||||||
});
|
|
||||||
|
|
||||||
this._maybeCancelDialog();
|
|
||||||
@@ -1020,11 +1018,10 @@ var ScreenShield = new Lang.Class({
|
|
||||||
{ y: 0,
|
|
||||||
time: MANUAL_FADE_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
this._lockScreenShown({ fadeToBlack: fadeToBlack,
|
|
||||||
animateFade: true });
|
|
||||||
- },
|
|
||||||
- onCompleteScope: this
|
|
||||||
+ }
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this._lockScreenGroup.fixed_position_set = false;
|
|
||||||
diff --git a/js/ui/workspaceSwitcherPopup.js b/js/ui/workspaceSwitcherPopup.js
|
|
||||||
index 351a907..49caabc 100644
|
|
||||||
--- a/js/ui/workspaceSwitcherPopup.js
|
|
||||||
+++ b/js/ui/workspaceSwitcherPopup.js
|
|
||||||
@@ -159,8 +159,7 @@ var WorkspaceSwitcherPopup = new Lang.Class({
|
|
||||||
Tweener.addTween(this._container, { opacity: 0.0,
|
|
||||||
time: ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onComplete() { this.destroy(); },
|
|
||||||
- onCompleteScope: this
|
|
||||||
+ onComplete: () => this.destroy()
|
|
||||||
});
|
|
||||||
return GLib.SOURCE_REMOVE;
|
|
||||||
},
|
|
||||||
diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js
|
|
||||||
index 76a7416..dc1a749 100644
|
|
||||||
--- a/js/ui/workspaceThumbnail.js
|
|
||||||
+++ b/js/ui/workspaceThumbnail.js
|
|
||||||
@@ -1347,11 +1347,10 @@ var ThumbnailsBox = new Lang.Class({
|
|
||||||
{ indicatorY: thumbnail.actor.allocation.y1,
|
|
||||||
time: WorkspacesView.WORKSPACE_SWITCH_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onComplete() {
|
|
||||||
+ onComplete: () => {
|
|
||||||
this._animatingIndicator = false;
|
|
||||||
this._queueUpdateStates();
|
|
||||||
- },
|
|
||||||
- onCompleteScope: this
|
|
||||||
+ }
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
--
|
|
||||||
2.23.0
|
|
||||||
|
|
||||||
@ -1,81 +0,0 @@
|
|||||||
From 7e4e3c19d010b8204f89703706c605a97153a60a Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Tue, 30 Mar 2021 14:56:46 +0800
|
|
||||||
Subject: [PATCH] loginDialog: Use GObject bindings over onUpdate handler
|
|
||||||
|
|
||||||
Instead of iterating over all actors each frame and sync'ing their
|
|
||||||
opacities, we can set up bindings once before the animation.
|
|
||||||
|
|
||||||
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/654
|
|
||||||
---
|
|
||||||
js/gdm/loginDialog.js | 30 ++++++++++++++----------------
|
|
||||||
1 file changed, 14 insertions(+), 16 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
|
|
||||||
index faecff8..29954f7 100644
|
|
||||||
--- a/js/gdm/loginDialog.js
|
|
||||||
+++ b/js/gdm/loginDialog.js
|
|
||||||
@@ -918,25 +918,29 @@ var LoginDialog = new Lang.Class({
|
|
||||||
this._showPrompt();
|
|
||||||
},
|
|
||||||
|
|
||||||
+ _bindOpacity() {
|
|
||||||
+ this._bindings = Main.layoutManager.uiGroup.get_children()
|
|
||||||
+ .filter(c => c != Main.layoutManager.screenShieldGroup)
|
|
||||||
+ .map(c => this.bind_property('opacity', c, 'opacity', 0));
|
|
||||||
+ },
|
|
||||||
+
|
|
||||||
+ _unbindOpacity() {
|
|
||||||
+ this._bindings.forEach(b => b.unbind());
|
|
||||||
+ },
|
|
||||||
+
|
|
||||||
_loginScreenSessionActivated() {
|
|
||||||
if (this.actor.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
|
|
||||||
return;
|
|
||||||
|
|
||||||
+ this._bindOpacity();
|
|
||||||
Tweener.addTween(this.actor,
|
|
||||||
{ opacity: 255,
|
|
||||||
time: _FADE_ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onUpdate: () => {
|
|
||||||
- let children = Main.layoutManager.uiGroup.get_children();
|
|
||||||
-
|
|
||||||
- for (let i = 0; i < children.length; i++) {
|
|
||||||
- if (children[i] != Main.layoutManager.screenShieldGroup)
|
|
||||||
- children[i].opacity = this.actor.opacity;
|
|
||||||
- }
|
|
||||||
- },
|
|
||||||
onComplete: () => {
|
|
||||||
if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
|
|
||||||
this._authPrompt.reset();
|
|
||||||
+ this._unbindOpacity();
|
|
||||||
} });
|
|
||||||
},
|
|
||||||
|
|
||||||
@@ -950,20 +954,14 @@ var LoginDialog = new Lang.Class({
|
|
||||||
},
|
|
||||||
|
|
||||||
_startSession(serviceName) {
|
|
||||||
+ this._bindOpacity();
|
|
||||||
Tweener.addTween(this.actor,
|
|
||||||
{ opacity: 0,
|
|
||||||
time: _FADE_ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onUpdate: () => {
|
|
||||||
- let children = Main.layoutManager.uiGroup.get_children();
|
|
||||||
-
|
|
||||||
- for (let i = 0; i < children.length; i++) {
|
|
||||||
- if (children[i] != Main.layoutManager.screenShieldGroup)
|
|
||||||
- children[i].opacity = this.actor.opacity;
|
|
||||||
- }
|
|
||||||
- },
|
|
||||||
onComplete: () => {
|
|
||||||
this._greeter.call_start_session_when_ready_sync(serviceName, true, null);
|
|
||||||
+ this._unbindOpacity();
|
|
||||||
} });
|
|
||||||
},
|
|
||||||
|
|
||||||
--
|
|
||||||
2.23.0
|
|
||||||
|
|
||||||
@ -1,44 +0,0 @@
|
|||||||
From b0d6742bcdba59991fbf0b31c6c670db7939cfa7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Tue, 30 Mar 2021 15:35:52 +0800
|
|
||||||
Subject: [PATCH] cleanup: Port GObject classes to JS6 classes
|
|
||||||
|
|
||||||
GJS added API for defining GObject classes with ES6 class syntax
|
|
||||||
last cycle, use it to port the remaining Lang.Class classes to
|
|
||||||
the new syntax.
|
|
||||||
|
|
||||||
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/361
|
|
||||||
|
|
||||||
---
|
|
||||||
js/gdm/loginDialog.js | 9 ++++-----
|
|
||||||
1 file changed, 4 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
|
|
||||||
index 29954f7..2f89140 100644
|
|
||||||
--- a/js/gdm/loginDialog.js
|
|
||||||
+++ b/js/gdm/loginDialog.js
|
|
||||||
@@ -931,17 +931,16 @@ var LoginDialog = new Lang.Class({
|
|
||||||
_loginScreenSessionActivated() {
|
|
||||||
if (this.actor.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
|
|
||||||
return;
|
|
||||||
+ if (this._authPrompt.verificationStatus !== AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
|
|
||||||
+ this._authPrompt.reset();
|
|
||||||
|
|
||||||
this._bindOpacity();
|
|
||||||
Tweener.addTween(this.actor,
|
|
||||||
{ opacity: 255,
|
|
||||||
time: _FADE_ANIMATION_TIME,
|
|
||||||
transition: 'easeOutQuad',
|
|
||||||
- onComplete: () => {
|
|
||||||
- if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING)
|
|
||||||
- this._authPrompt.reset();
|
|
||||||
- this._unbindOpacity();
|
|
||||||
- } });
|
|
||||||
+ onComplete: () => this._unbindOpacity(),
|
|
||||||
+ });
|
|
||||||
},
|
|
||||||
|
|
||||||
_gotGreeterSessionProxy(proxy) {
|
|
||||||
--
|
|
||||||
2.23.0
|
|
||||||
|
|
||||||
Binary file not shown.
BIN
gnome-shell-3.38.4.tar.xz
Normal file
BIN
gnome-shell-3.38.4.tar.xz
Normal file
Binary file not shown.
@ -1,21 +1,38 @@
|
|||||||
--- gnome-shell-3.13.90/data/org.gnome.shell.gschema.xml.in.firefox 2014-08-20 20:28:07.601133033 +0200
|
From ecbdc8596190dd0b2686cbe75790ed01708bd2a2 Mon Sep 17 00:00:00 2001
|
||||||
+++ gnome-shell-3.13.90/data/org.gnome.shell.gschema.xml.in 2014-08-20 20:28:41.741503518 +0200
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
@@ -31,7 +31,7 @@
|
Date: Wed, 17 Sep 2014 07:11:12 +0200
|
||||||
|
Subject: [PATCH] Replace Web with Firefox in default favorites
|
||||||
|
|
||||||
|
---
|
||||||
|
data/org.gnome.shell.gschema.xml.in | 2 +-
|
||||||
|
js/ui/appFavorites.js | 1 +
|
||||||
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in
|
||||||
|
index 49d38d766..1433292e4 100644
|
||||||
|
--- a/data/org.gnome.shell.gschema.xml.in
|
||||||
|
+++ b/data/org.gnome.shell.gschema.xml.in
|
||||||
|
@@ -50,7 +50,7 @@
|
||||||
</description>
|
</description>
|
||||||
</key>
|
</key>
|
||||||
<key name="favorite-apps" type="as">
|
<key name="favorite-apps" type="as">
|
||||||
- <default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
- <default>[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
||||||
+ <default>[ 'firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
+ <default>[ 'firefox.desktop', 'org.gnome.Calendar.desktop', 'rhythmbox.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
||||||
<summary>List of desktop file IDs for favorite applications</summary>
|
<summary>List of desktop file IDs for favorite applications</summary>
|
||||||
<description>
|
<description>
|
||||||
The applications corresponding to these identifiers
|
The applications corresponding to these identifiers
|
||||||
|
diff --git a/js/ui/appFavorites.js b/js/ui/appFavorites.js
|
||||||
|
index 3308dd6b3..87c008704 100644
|
||||||
--- a/js/ui/appFavorites.js
|
--- a/js/ui/appFavorites.js
|
||||||
+++ b/js/ui/appFavorites.js
|
+++ b/js/ui/appFavorites.js
|
||||||
@@ -31,6 +31,7 @@ const RENAMED_DESKTOP_IDS = {
|
@@ -50,6 +50,7 @@ const RENAMED_DESKTOP_IDS = {
|
||||||
'gnotravex.desktop': 'gnome-tetravex.desktop',
|
'gnotski.desktop': 'org.gnome.Klotski.desktop',
|
||||||
'gnotski.desktop': 'gnome-klotski.desktop',
|
'gtali.desktop': 'org.gnome.Tali.desktop',
|
||||||
'gtali.desktop': 'tali.desktop',
|
'iagno.desktop': 'org.gnome.Reversi.desktop',
|
||||||
+ 'mozilla-firefox.desktop': 'firefox.desktop',
|
+ 'mozilla-firefox.desktop': 'firefox.desktop',
|
||||||
'nautilus.desktop': 'org.gnome.Nautilus.desktop',
|
'nautilus.desktop': 'org.gnome.Nautilus.desktop',
|
||||||
'polari.desktop': 'org.gnome.Polari.desktop',
|
'org.gnome.gnome-2048.desktop': 'org.gnome.TwentyFortyEight.desktop',
|
||||||
'totem.desktop': 'org.gnome.Totem.desktop',
|
'org.gnome.taquin.desktop': 'org.gnome.Taquin.desktop',
|
||||||
|
--
|
||||||
|
2.24.1
|
||||||
|
|
||||||
|
|||||||
@ -1,36 +1,33 @@
|
|||||||
Name: gnome-shell
|
Name: gnome-shell
|
||||||
Version: 3.30.1
|
Version: 3.38.4
|
||||||
Release: 7
|
Release: 1
|
||||||
Summary: Core user interface functions for the GNOME 3 desktop
|
Summary: Core user interface functions for the GNOME 3 desktop
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: https://wiki.gnome.org/Projects/GnomeShell
|
URL: https://wiki.gnome.org/Projects/GnomeShell
|
||||||
Source0: http://download.gnome.org/sources/gnome-shell/3.30/%{name}-%{version}.tar.xz
|
Source0: http://download.gnome.org/sources/gnome-shell/3.38/%{name}-%{version}.tar.xz
|
||||||
|
|
||||||
Patch1: gnome-shell-favourite-apps-firefox.patch
|
Patch1: gnome-shell-favourite-apps-firefox.patch
|
||||||
Patch2: 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch
|
|
||||||
Patch3: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch
|
|
||||||
Patch4: 0001-keyboardManager-Avoid-idempotent-calls-to-meta_backe.patch
|
|
||||||
Patch5: 0001-Include-the-libcroco-sources-directly-under-src-st-c.patch
|
|
||||||
Patch6: CVE-2020-17489-pre1.patch
|
|
||||||
Patch7: CVE-2020-17489-pre2.patch
|
|
||||||
Patch8: CVE-2020-17489.patch
|
|
||||||
|
|
||||||
BuildRequires: meson git ibus-devel chrpath dbus-glib-devel desktop-file-utils
|
BuildRequires: meson git ibus-devel chrpath dbus-glib-devel desktop-file-utils
|
||||||
BuildRequires: evolution-data-server-devel gcr-devel gjs-devel glib2-devel
|
BuildRequires: evolution-data-server-devel gcr-devel gjs-devel glib2-devel
|
||||||
BuildRequires: gobject-introspection json-glib-devel upower-devel mesa-libGL-devel
|
BuildRequires: gobject-introspection json-glib-devel upower-devel mesa-libGL-devel
|
||||||
BuildRequires: NetworkManager-libnm-devel polkit-devel startup-notification-devel
|
BuildRequires: NetworkManager-libnm-devel polkit-devel startup-notification-devel
|
||||||
BuildRequires: sassc gstreamer1-devel gtk3-devel gettext libcanberra-devel
|
BuildRequires: sassc gstreamer1-devel gtk3-devel gettext libcanberra-devel
|
||||||
BuildRequires: python3-devel libXfixes-devel librsvg2-devel
|
BuildRequires: python3-devel libXfixes-devel librsvg2-devel asciidoc
|
||||||
BuildRequires: mutter-devel pulseaudio-libs-devel control-center gtk-doc
|
BuildRequires: mutter-devel pulseaudio-libs-devel control-center gtk-doc
|
||||||
|
BuildRequires: bash-completion gnome-autoar-devel gnome-desktop3-devel
|
||||||
|
BuildRequires: mesa-libEGL-devel systemd-devel python3
|
||||||
|
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.0 gnome-bluetooth-libs-devel
|
||||||
|
|
||||||
Requires: gnome-desktop3 gobject-introspection gjs gtk3 libnma librsvg2
|
Requires: gnome-desktop3 gobject-introspection gjs gtk3 libnma librsvg2
|
||||||
Requires: json-glib mozilla-filesystem mutter upower polkit glib2
|
Requires: json-glib mozilla-filesystem mutter upower polkit glib2 gdm-libs
|
||||||
Requires: gsettings-desktop-schemas gstreamer1 at-spi2-atk
|
Requires: gsettings-desktop-schemas gstreamer1 at-spi2-atk gnome-bluetooth
|
||||||
Requires: ibus accountsservice-libs gdm control-center python3
|
Requires: ibus accountsservice-libs gdm control-center python3 gnome-settings-daemon
|
||||||
Requires: switcheroo-control geoclue2 libgweather bolt
|
Requires: switcheroo-control geoclue2 libgweather bolt gnome-session-xsession
|
||||||
|
Requires: geoclue2-libs pipewire-gstreamer
|
||||||
|
|
||||||
Provides: desktop-notification-daemon
|
Provides: desktop-notification-daemon PolicyKit-authentication-agent
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The GNOME Shell redefines user interactions with the GNOME desktop. In particular,
|
The GNOME Shell redefines user interactions with the GNOME desktop. In particular,
|
||||||
@ -55,7 +52,7 @@ Help files for %{name}
|
|||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%meson
|
%meson -Dextensions_app=false
|
||||||
%meson_build
|
%meson_build
|
||||||
|
|
||||||
|
|
||||||
@ -67,7 +64,6 @@ Help files for %{name}
|
|||||||
|
|
||||||
%check
|
%check
|
||||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.desktop
|
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.desktop
|
||||||
desktop-file-validate %{buildroot}%{_datadir}/applications/gnome-shell-extension-prefs.desktop
|
|
||||||
desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.desktop
|
desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.desktop
|
||||||
|
|
||||||
|
|
||||||
@ -82,48 +78,60 @@ glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null
|
|||||||
%files -f %{name}.lang
|
%files -f %{name}.lang
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%doc README.md
|
%doc README.md
|
||||||
%{_bindir}/gnome-shell
|
%{_bindir}/gnome-*
|
||||||
%{_bindir}/gnome-shell-extension-tool
|
|
||||||
%{_bindir}/gnome-shell-perf-tool
|
|
||||||
%{_bindir}/gnome-shell-extension-prefs
|
|
||||||
%{_datadir}/glib-2.0/schemas/*.xml
|
%{_datadir}/glib-2.0/schemas/*.xml
|
||||||
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override
|
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override
|
||||||
|
%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
|
||||||
%{_datadir}/applications/org.gnome.Shell.desktop
|
%{_datadir}/applications/org.gnome.Shell.desktop
|
||||||
%{_datadir}/applications/gnome-shell-extension-prefs.desktop
|
|
||||||
%{_datadir}/applications/evolution-calendar.desktop
|
%{_datadir}/applications/evolution-calendar.desktop
|
||||||
%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
|
%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
|
||||||
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-system.xml
|
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-system.xml
|
||||||
%{_datadir}/gnome-shell/
|
%{_datadir}/gnome-shell/
|
||||||
|
|
||||||
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
|
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
|
||||||
|
%{_datadir}/dbus-1/services/org.gnome.Shell.Extensions.service
|
||||||
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
|
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
|
||||||
|
%{_datadir}/dbus-1/services/org.gnome.Shell.Notifications.service
|
||||||
%{_datadir}/dbus-1/services/org.gnome.Shell.PortalHelper.service
|
%{_datadir}/dbus-1/services/org.gnome.Shell.PortalHelper.service
|
||||||
|
%{_datadir}/dbus-1/services/org.gnome.Shell.Screencast.service
|
||||||
%{_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
|
||||||
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
|
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
|
||||||
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
|
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
|
||||||
%{_userunitdir}/gnome-shell.service
|
|
||||||
%{_userunitdir}/gnome-shell-wayland.target
|
%{_userunitdir}/org.gnome.Shell-disable-extensions.service
|
||||||
%{_userunitdir}/gnome-shell-x11.target
|
%{_userunitdir}/org.gnome.Shell.target
|
||||||
|
%{_userunitdir}/org.gnome.Shell@wayland.service
|
||||||
|
%{_userunitdir}/org.gnome.Shell@x11.service
|
||||||
%{_sysconfdir}/xdg/autostart/gnome-shell-overrides-migration.desktop
|
%{_sysconfdir}/xdg/autostart/gnome-shell-overrides-migration.desktop
|
||||||
|
|
||||||
%dir %{_datadir}/xdg-desktop-portal/portals/
|
%dir %{_datadir}/xdg-desktop-portal/portals/
|
||||||
%{_datadir}/xdg-desktop-portal/portals/gnome-shell.portal
|
%{_datadir}/xdg-desktop-portal/portals/gnome-shell.portal
|
||||||
|
%{_datadir}/bash-completion/completions/gnome-extensions
|
||||||
|
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
|
||||||
|
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg
|
||||||
%{_libdir}/gnome-shell/
|
%{_libdir}/gnome-shell/
|
||||||
%{_libdir}/mozilla/plugins/*.so
|
|
||||||
%{_libexecdir}/gnome-shell-calendar-server
|
%{_libexecdir}/gnome-shell-calendar-server
|
||||||
%{_libexecdir}/gnome-shell-perf-helper
|
%{_libexecdir}/gnome-shell-perf-helper
|
||||||
%{_libexecdir}/gnome-shell-hotplug-sniffer
|
%{_libexecdir}/gnome-shell-hotplug-sniffer
|
||||||
%{_libexecdir}/gnome-shell-portal-helper
|
%{_libexecdir}/gnome-shell-portal-helper
|
||||||
%{_libexecdir}/gnome-shell-overrides-migration.sh
|
%{_libexecdir}/gnome-shell-overrides-migration.sh
|
||||||
%dir %{_datadir}/GConf
|
%{_datadir}/GConf/*
|
||||||
%dir %{_datadir}/GConf/gsettings
|
|
||||||
%{_datadir}/GConf/gsettings/gnome-shell-overrides.convert
|
|
||||||
|
|
||||||
%files help
|
%files help
|
||||||
%{_mandir}/man1/%{name}.1.gz
|
%{_mandir}/man1/%{name}.1.gz
|
||||||
|
%{_mandir}/man1/gnome-extensions.1.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon May 31 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 3.38.4-1
|
||||||
|
- Upgrade to 3.38.4
|
||||||
|
- Update Version, Release, Source0, BuildRequires, Requires
|
||||||
|
- Delete patches which existed in current version, modify one patch
|
||||||
|
- Update stage 'build', 'check', 'files'
|
||||||
|
|
||||||
* Tue Mar 30 2021 wangyue<wangyue92@huawei.com> - 3.30.1-7
|
* Tue Mar 30 2021 wangyue<wangyue92@huawei.com> - 3.30.1-7
|
||||||
- fix CVE-2020-17489
|
- fix CVE-2020-17489
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user