diff --git a/.gitignore b/.gitignore index bdb0b23..6cf1b72 100644 --- a/.gitignore +++ b/.gitignore @@ -226,3 +226,4 @@ gnome-shell-2.31.5.tar.bz2 /gnome-shell-46.rc.tar.xz /gnome-shell-46.0.tar.xz /gnome-shell-46.1.tar.xz +/gnome-shell-46.2.tar.xz diff --git a/0001-data-Update-generated-stylesheets.patch b/0001-data-Update-generated-stylesheets.patch index 2ba4c55..a32ddb1 100644 --- a/0001-data-Update-generated-stylesheets.patch +++ b/0001-data-Update-generated-stylesheets.patch @@ -1,19 +1,19 @@ -From 1701444c175e0d782427104326e761d7195e2b3b Mon Sep 17 00:00:00 2001 +From 9d63a3910637dacf412e0418bea3baf1b90e96a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 16 Apr 2024 20:49:40 +0200 Subject: [PATCH] data: Update generated stylesheets --- - data/theme/gnome-shell-dark.css | 7 +++++++ - data/theme/gnome-shell-high-contrast.css | 7 +++++++ - data/theme/gnome-shell-light.css | 7 +++++++ - 3 files changed, 21 insertions(+) + data/theme/gnome-shell-dark.css | 3 +++ + data/theme/gnome-shell-high-contrast.css | 3 +++ + data/theme/gnome-shell-light.css | 3 +++ + 3 files changed, 9 insertions(+) diff --git a/data/theme/gnome-shell-dark.css b/data/theme/gnome-shell-dark.css -index 70ca5deaa4..f593b13e34 100644 +index e57c4394ec..ebf3a58d31 100644 --- a/data/theme/gnome-shell-dark.css +++ b/data/theme/gnome-shell-dark.css -@@ -1688,6 +1688,9 @@ StScrollBar { +@@ -1686,6 +1686,9 @@ StScrollBar { min-width: 0.5455em; min-height: 0.5455em; background-color: #ffffff; } @@ -23,22 +23,11 @@ index 70ca5deaa4..f593b13e34 100644 #panel .panel-button.screen-recording-indicator StBoxLayout, #panel .panel-button.screen-sharing-indicator StBoxLayout { spacing: 0.409em; } #panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon { -@@ -2917,6 +2920,10 @@ StScrollBar { - .login-dialog-message { - text-align: center; } - -+.login-dialog-message-hint, .login-dialog-message { -+ color: #c2c2c2; -+ min-height: 2.75em; } -+ - .login-dialog-user-selection-box { - padding-top: 4em; - padding-bottom: 8em; } diff --git a/data/theme/gnome-shell-high-contrast.css b/data/theme/gnome-shell-high-contrast.css -index 2751b77209..8bb8eadf09 100644 +index 32b18d5629..165cd2438e 100644 --- a/data/theme/gnome-shell-high-contrast.css +++ b/data/theme/gnome-shell-high-contrast.css -@@ -1870,6 +1870,9 @@ StScrollBar { +@@ -1863,6 +1863,9 @@ StScrollBar { min-width: 0.5455em; min-height: 0.5455em; background-color: #ffffff; } @@ -48,22 +37,11 @@ index 2751b77209..8bb8eadf09 100644 #panel .panel-button.screen-recording-indicator StBoxLayout, #panel .panel-button.screen-sharing-indicator StBoxLayout { spacing: 0.409em; } #panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon { -@@ -3211,6 +3214,10 @@ StScrollBar { - .login-dialog-message { - text-align: center; } - -+.login-dialog-message-hint, .login-dialog-message { -+ color: #cccccc; -+ min-height: 2.75em; } -+ - .login-dialog-user-selection-box { - padding-top: 4em; - padding-bottom: 8em; } diff --git a/data/theme/gnome-shell-light.css b/data/theme/gnome-shell-light.css -index 263ecd87f0..64d5672d6c 100644 +index db4169399a..234f109a74 100644 --- a/data/theme/gnome-shell-light.css +++ b/data/theme/gnome-shell-light.css -@@ -1688,6 +1688,9 @@ StScrollBar { +@@ -1686,6 +1686,9 @@ StScrollBar { min-width: 0.5455em; min-height: 0.5455em; background-color: #282828; } @@ -73,17 +51,6 @@ index 263ecd87f0..64d5672d6c 100644 #panel .panel-button.screen-recording-indicator StBoxLayout, #panel .panel-button.screen-sharing-indicator StBoxLayout { spacing: 0.409em; } #panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon { -@@ -2917,6 +2920,10 @@ StScrollBar { - .login-dialog-message { - text-align: center; } - -+.login-dialog-message-hint, .login-dialog-message { -+ color: #c2c2c2; -+ min-height: 2.75em; } -+ - .login-dialog-user-selection-box { - padding-top: 4em; - padding-bottom: 8em; } -- -2.45.1 +2.44.0 diff --git a/0001-loginDialog-make-info-messages-themed.patch b/0001-loginDialog-make-info-messages-themed.patch deleted file mode 100644 index e237d75..0000000 --- a/0001-loginDialog-make-info-messages-themed.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d6a0011a893ad736eb0ca18e3018acaca3000f15 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Mon, 26 Jun 2017 14:35:05 -0400 -Subject: [PATCH] loginDialog: make info messages themed - -They were lacking a definition before leading them to -show up invisible. ---- - data/theme/gnome-shell-sass/widgets/_login-lock.scss | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/data/theme/gnome-shell-sass/widgets/_login-lock.scss b/data/theme/gnome-shell-sass/widgets/_login-lock.scss -index 4dc9aec0b5..c9bc223db9 100644 ---- a/data/theme/gnome-shell-sass/widgets/_login-lock.scss -+++ b/data/theme/gnome-shell-sass/widgets/_login-lock.scss -@@ -80,6 +80,11 @@ $_gdm_dialog_width: 25em; - text-align: center; - } - -+.login-dialog-message-hint, .login-dialog-message { -+ color: darken($_gdm_fg, 20%); -+ min-height: 2.75em; -+} -+ - .login-dialog-user-selection-box { - // padding to ensure the box doesn't overlap the panel - padding-top: 4em; --- -2.44.0 - diff --git a/disable-unlock-entry-until-question.patch b/disable-unlock-entry-until-question.patch index 7859438..63e5612 100644 --- a/disable-unlock-entry-until-question.patch +++ b/disable-unlock-entry-until-question.patch @@ -1,4 +1,4 @@ -From 8d327cbdbbc31604241dd25e411f042738b1de41 Mon Sep 17 00:00:00 2001 +From 508b6605da15da476a492f0364d66a031ce15bbb Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 30 Sep 2015 12:51:24 -0400 Subject: [PATCH 1/3] authPrompt: don't fade out auth messages if user types @@ -12,10 +12,10 @@ front, before a password is asked. 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js -index ec1c931e63..a67d0443c5 100644 +index 8a46559d90..9309f60886 100644 --- a/js/gdm/authPrompt.js +++ b/js/gdm/authPrompt.js -@@ -209,7 +209,7 @@ export const AuthPrompt = GObject.registerClass({ +@@ -211,7 +211,7 @@ export const AuthPrompt = GObject.registerClass({ [this._textEntry, this._passwordEntry].forEach(entry => { entry.clutter_text.connect('text-changed', () => { @@ -25,10 +25,10 @@ index ec1c931e63..a67d0443c5 100644 }); -- -2.44.0 +2.45.1 -From 7f684379789cfe3cbeda67cde89863fb719529c2 Mon Sep 17 00:00:00 2001 +From b8802f770ae641125fdafe6b3eadcb2d9bc33860 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 30 Sep 2015 14:36:33 -0400 Subject: [PATCH 2/3] authPrompt: don't spin unless answering question @@ -38,10 +38,10 @@ Subject: [PATCH 2/3] authPrompt: don't spin unless answering question 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js -index a67d0443c5..36d26be7dc 100644 +index 9309f60886..3e72668967 100644 --- a/js/gdm/authPrompt.js +++ b/js/gdm/authPrompt.js -@@ -273,13 +273,14 @@ export const AuthPrompt = GObject.registerClass({ +@@ -275,13 +275,14 @@ export const AuthPrompt = GObject.registerClass({ this.verificationStatus = AuthPromptStatus.VERIFICATION_IN_PROGRESS; this.updateSensitivity(false); @@ -61,10 +61,10 @@ index a67d0443c5..36d26be7dc 100644 this.emit('next'); } -- -2.44.0 +2.45.1 -From 9d814b19e25c3b357261e206f9a93528d3aed5df Mon Sep 17 00:00:00 2001 +From 4618962582f7f2ce1d76daca4ce3ee34e4c07f55 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 5 Oct 2015 15:26:18 -0400 Subject: [PATCH 3/3] authPrompt: stop accepting preemptive answer if user @@ -82,7 +82,7 @@ all. 1 file changed, 36 insertions(+) diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js -index 36d26be7dc..3bfcd0d3db 100644 +index 3e72668967..254b4dbb88 100644 --- a/js/gdm/authPrompt.js +++ b/js/gdm/authPrompt.js @@ -70,6 +70,8 @@ export const AuthPrompt = GObject.registerClass({ @@ -109,7 +109,7 @@ index 36d26be7dc..3bfcd0d3db 100644 this._userVerifier.destroy(); this._userVerifier = null; } -@@ -280,6 +288,11 @@ export const AuthPrompt = GObject.registerClass({ +@@ -282,6 +290,11 @@ export const AuthPrompt = GObject.registerClass({ this._userVerifier.answerQuery(this._queryingService, this._entry.text); } else { this._preemptiveAnswer = this._entry.text; @@ -121,7 +121,7 @@ index 36d26be7dc..3bfcd0d3db 100644 } this.emit('next'); -@@ -491,6 +504,11 @@ export const AuthPrompt = GObject.registerClass({ +@@ -493,6 +506,11 @@ export const AuthPrompt = GObject.registerClass({ } setQuestion(question) { @@ -133,7 +133,7 @@ index 36d26be7dc..3bfcd0d3db 100644 this._entry.hint_text = question; this._authList.hide(); -@@ -612,6 +630,19 @@ export const AuthPrompt = GObject.registerClass({ +@@ -614,6 +632,19 @@ export const AuthPrompt = GObject.registerClass({ this._updateEntry(false); } @@ -153,7 +153,7 @@ index 36d26be7dc..3bfcd0d3db 100644 reset() { let oldStatus = this.verificationStatus; this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; -@@ -619,6 +650,11 @@ export const AuthPrompt = GObject.registerClass({ +@@ -621,6 +652,11 @@ export const AuthPrompt = GObject.registerClass({ this.cancelButton.can_focus = this._hasCancelButton; this._preemptiveAnswer = null; @@ -166,5 +166,5 @@ index 36d26be7dc..3bfcd0d3db 100644 this._userVerifier.cancel(); -- -2.44.0 +2.45.1 diff --git a/fix-fingerprint-failure-handling.patch b/fix-fingerprint-failure-handling.patch deleted file mode 100644 index 98ccb94..0000000 --- a/fix-fingerprint-failure-handling.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 01302cee25955aecc2b3f391d48e36f8c8b6b322 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Wed, 15 May 2024 09:14:09 -0400 -Subject: [PATCH] gdm/util: Make sure error is GError before checking it - -The fingerprint device fetching code has a generic error handler, -that assumes the passed in error is GError. If it's not a -GError it will fail trying to use GError specific methods. - -This commit adds some validation checking. ---- - js/gdm/util.js | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -diff --git a/js/gdm/util.js b/js/gdm/util.js -index efc5a1f..9f39367 100644 ---- a/js/gdm/util.js -+++ b/js/gdm/util.js -@@ -369,69 +369,70 @@ export class ShellUserVerifier extends Signals.EventEmitter { - - const fprintDeviceProxy = this._getFingerprintDeviceProxy(devicePath); - fprintDeviceProxy.init(null); - this._setFingerprintReaderType(fprintDeviceProxy['scan-type']); - } else { - // Ensure fingerprint service starts, but do not wait for it - const cancellable = this._cancellable; - await fprintManager.init_async(GLib.PRIORITY_DEFAULT, cancellable); - await this._updateFingerprintReaderType(fprintManager, cancellable); - this._fprintManager = fprintManager; - } - } catch (e) { - this._handleFingerprintError(e); - } - } - - _getFingerprintDeviceProxy(devicePath) { - return new Gio.DBusProxy({ - g_connection: Gio.DBus.system, - g_name: 'net.reactivated.Fprint', - g_object_path: devicePath, - g_interface_name: FprintDeviceInfo.name, - g_interface_info: FprintDeviceInfo, - g_flags: Gio.DBusProxyFlags.DO_NOT_CONNECT_SIGNALS, - }); - } - - _handleFingerprintError(e) { - this._fingerprintReaderType = FingerprintReaderType.NONE; - -- if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) -- return; -- if (e.matches(Gio.DBusError, Gio.DBusError.SERVICE_UNKNOWN)) -- return; -- -- if (Gio.DBusError.is_remote_error(e) && -- Gio.DBusError.get_remote_error(e) === -- 'net.reactivated.Fprint.Error.NoSuchDevice') -- return; -+ if (e instanceof GLib.Error) { -+ if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) -+ return; -+ if (e.matches(Gio.DBusError, Gio.DBusError.SERVICE_UNKNOWN)) -+ return; -+ if (Gio.DBusError.is_remote_error(e) && -+ Gio.DBusError.get_remote_error(e) === -+ 'net.reactivated.Fprint.Error.NoSuchDevice') -+ return; -+ } - - logError(e, 'Failed to interact with fprintd service'); - } - - async _checkForFingerprintReader() { - if (!this._fprintManager) { - this._updateDefaultService(); - return; - } - - if (this._fingerprintReaderType !== FingerprintReaderType.NONE) - return; - - await this._updateFingerprintReaderType(this._fprintManager, this._cancellable); - } - - async _updateFingerprintReaderType(fprintManager, cancellable) { - // Wrappers don't support null cancellable, so let's ignore it in case - const args = cancellable ? [cancellable] : []; - const [devicePath] = await fprintManager.GetDefaultDeviceAsync(...args); - const fprintDeviceProxy = this._getFingerprintDeviceProxy(devicePath); - await fprintDeviceProxy.init_async(GLib.PRIORITY_DEFAULT, cancellable); - this._setFingerprintReaderType(fprintDeviceProxy['scan-type']); - this._updateDefaultService(); - - if (this._userVerifier && - !this._activeServices.has(FINGERPRINT_SERVICE_NAME)) { - if (!this._hold?.isAcquired()) - this._hold = new Batch.Hold(); - await this._maybeStartFingerprintVerification(); --- -2.44.0 - diff --git a/fix-stuck-prompt.patch b/fix-stuck-prompt.patch deleted file mode 100644 index bb2cf79..0000000 --- a/fix-stuck-prompt.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 2dc565e817c44a42407a9e7d7f4e5007a2ca13f2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Tue, 14 May 2024 19:49:56 +0200 -Subject: [PATCH 1/2] authPrompt: Use signal handler instead of vfunc - -The prompt itself may get destroyed when canceled, in which -case it is no longer possible to chain up in the vfunc. - -This is usually not an issue as the prompt is only destroyed -at the end of a transition, but it results in a warning if -animations are disabled. ---- - js/gdm/authPrompt.js | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js -index 3bfcd0d3db..f6106e761e 100644 ---- a/js/gdm/authPrompt.js -+++ b/js/gdm/authPrompt.js -@@ -141,10 +141,10 @@ export const AuthPrompt = GObject.registerClass({ - this._userVerifier = null; - } - -- vfunc_key_press_event(event) { -+ on_key_press_event(event) { - if (event.get_key_symbol() === Clutter.KEY_Escape) - this.cancel(); -- return super.vfunc_key_press_event(event); -+ return Clutter.EVENT_PROPAGATE; - } - - _initInputRow() { --- -2.45.0 - - -From 1ca1330d92049b7bb8f71ddef1363ba9536098c0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Wed, 15 May 2024 01:55:40 +0200 -Subject: [PATCH 2/2] authPrompt: Consume cancel key event - -The auth prompt currently propagates all key presses, even the -Escape press that is used to cancel it. - -On the lock screen that means that the same event that cancels -the prompt (and switches back to the clock) is *also* propagated -to the handler that activates the prompt on key press. - -That handler doesn't do anything when the prompt is already visible, -which is the case when the transition to the clock is animated. - -However when animations are disabled, canceling the prompt will -result in a new prompt getting created immediately, and the login -screen is stuck on the prompt. - -Fix this by not propagating key events that are used to cancel -the prompt. ---- - js/gdm/authPrompt.js | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js -index f6106e761e..254b4dbb88 100644 ---- a/js/gdm/authPrompt.js -+++ b/js/gdm/authPrompt.js -@@ -142,8 +142,10 @@ export const AuthPrompt = GObject.registerClass({ - } - - on_key_press_event(event) { -- if (event.get_key_symbol() === Clutter.KEY_Escape) -+ if (event.get_key_symbol() === Clutter.KEY_Escape) { - this.cancel(); -+ return Clutter.EVENT_STOP; -+ } - return Clutter.EVENT_PROPAGATE; - } - --- -2.45.0 - diff --git a/gnome-shell.spec b/gnome-shell.spec index 1d9ce0c..f283e04 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -2,7 +2,7 @@ %global major_version %%(cut -d "." -f 1 <<<%{tarball_version}) Name: gnome-shell -Version: 46.1 +Version: 46.2 Release: %autorelease Summary: Window management and application launching for GNOME @@ -23,16 +23,10 @@ Patch: optional-portal-helper.patch # downstream patch to stop trying on configuration errors. Patch: 0001-gdm-Work-around-failing-fingerprint-auth.patch -# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3303 -Patch: screencast-bus-name.patch - # GDM/Lock stuff Patch: 0001-screenShield-unblank-when-inserting-smartcard.patch Patch: enforce-smartcard-at-unlock.patch Patch: disable-unlock-entry-until-question.patch -Patch: 0001-loginDialog-make-info-messages-themed.patch -Patch: fix-stuck-prompt.patch -Patch: fix-fingerprint-failure-handling.patch # Extensions Patch: 0001-extensionDownloader-Refuse-to-override-system-extens.patch diff --git a/screencast-bus-name.patch b/screencast-bus-name.patch deleted file mode 100644 index f5b3863..0000000 --- a/screencast-bus-name.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 50a011a19dcc6997ea6173c07bb80b2d9888d363 Mon Sep 17 00:00:00 2001 -From: Simon McVittie -Date: Mon, 6 May 2024 21:58:09 +0100 -Subject: [PATCH] screencast: Correct expected bus name for streams -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Previously, this only worked because GDBusConnection was not filtering -signals by their sender correctly (GNOME/glib#3268). - -Thanks: Alicia Boya García -Signed-off-by: Simon McVittie -Part-of: ---- - js/dbusServices/screencast/screencastService.js | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/dbusServices/screencast/screencastService.js b/js/dbusServices/screencast/screencastService.js -index d664a51b083..0645811fa0a 100644 ---- a/js/dbusServices/screencast/screencastService.js -+++ b/js/dbusServices/screencast/screencastService.js -@@ -340,7 +340,7 @@ class Recorder extends Signals.EventEmitter { - }); - - this._streamProxy = new ScreenCastStreamProxy(Gio.DBus.session, -- 'org.gnome.ScreenCast.Stream', -+ 'org.gnome.Mutter.ScreenCast', - streamPath); - - this._streamProxy.connectSignal('PipeWireStreamAdded', --- -GitLab - diff --git a/sources b/sources index b022e6e..de9818d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-shell-46.1.tar.xz) = 2700b4187e5f6cc52d8a04704fb68aa7847bc70d5200819c4462729d2d15fd8b4f1fe67bfc83e643b8edf247511e40cf20a6561ff5a901c998a95d935ce4217c +SHA512 (gnome-shell-46.2.tar.xz) = 9b23a23a8a9224a618ab159c653b0b0889e5097a62265210f5e71c15658f4a85fbaca8be9646da768e8acfc38eb7eecd35313f3b82d6fbfc3b45f7754479e3a8