import gnome-shell-3.32.2-38.el8
This commit is contained in:
parent
8eb994b323
commit
35adc05228
@ -1,7 +1,7 @@
|
||||
From f03c6a870820543901331d1920b7b3e423813d2c Mon Sep 17 00:00:00 2001
|
||||
From 6e80934456f0b4cc48da6a7201700dc4386a3474 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 27 Feb 2020 13:46:44 -0800
|
||||
Subject: [PATCH 1/6] environment: reduce calls to g_time_zone_new_local()
|
||||
Subject: [PATCH] environment: reduce calls to g_time_zone_new_local()
|
||||
|
||||
Creating a new GTimeZone for the local timezone can be quite expensive if
|
||||
done repeatedly. It requires an open(), mmap(), and parsing of
|
||||
@ -19,12 +19,12 @@ Signed-off-by: Christian Hergert <chergert@redhat.com>
|
||||
1 file changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/environment.js b/js/ui/environment.js
|
||||
index e22ec7402..f3f2d17c7 100644
|
||||
index 9c125d3eb..809b48e45 100644
|
||||
--- a/js/ui/environment.js
|
||||
+++ b/js/ui/environment.js
|
||||
@@ -11,6 +11,9 @@ imports.gi.versions.TelepathyLogger = '0.2';
|
||||
|
||||
const { Clutter, GLib, Shell, St } = imports.gi;
|
||||
const { Clutter, Gio, GLib, Shell, St } = imports.gi;
|
||||
const Gettext = imports.gettext;
|
||||
+const System = imports.system;
|
||||
+
|
||||
@ -32,7 +32,7 @@ index e22ec7402..f3f2d17c7 100644
|
||||
|
||||
// We can't import shell JS modules yet, because they may have
|
||||
// variable initializations, etc, that depend on init() already having
|
||||
@@ -110,9 +113,26 @@ function init() {
|
||||
@@ -117,9 +120,26 @@ function init() {
|
||||
}
|
||||
};
|
||||
|
||||
@ -61,5 +61,5 @@ index e22ec7402..f3f2d17c7 100644
|
||||
|
||||
let slowdownEnv = GLib.getenv('GNOME_SHELL_SLOWDOWN_FACTOR');
|
||||
--
|
||||
2.26.2
|
||||
2.31.1
|
||||
|
||||
|
@ -0,0 +1,36 @@
|
||||
From 7a264550c5f3a98b1786b1a75cff01cde1d084eb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 29 Jul 2021 17:17:43 +0200
|
||||
Subject: [PATCH 5/5] shellEntry: Only mask text in password entries
|
||||
|
||||
When "Show Text" is locked down, we not only remove the corresponding
|
||||
menu item, but also make sure the password is masked.
|
||||
|
||||
Except that the current code is too eager, and masks the text in
|
||||
any entries.
|
||||
---
|
||||
js/ui/shellEntry.js | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/shellEntry.js b/js/ui/shellEntry.js
|
||||
index c45e4545a..64b389050 100644
|
||||
--- a/js/ui/shellEntry.js
|
||||
+++ b/js/ui/shellEntry.js
|
||||
@@ -55,11 +55,13 @@ var EntryMenu = class extends PopupMenu.PopupMenu {
|
||||
this._passwordItem.destroy();
|
||||
this._passwordItem = null;
|
||||
}
|
||||
- this._entry.clutter_text.set_password_char('\u25cf');
|
||||
} else if (this.isPassword && !passwordDisabled) {
|
||||
if (!this._passwordItem)
|
||||
this._makePasswordItem();
|
||||
}
|
||||
+
|
||||
+ if (this.isPassword && passwordDisabled)
|
||||
+ this._entry.clutter_text.set_password_char('\u25cf');
|
||||
}
|
||||
|
||||
get isPassword() {
|
||||
--
|
||||
2.31.1
|
||||
|
279
SOURCES/warn-less.patch
Normal file
279
SOURCES/warn-less.patch
Normal file
@ -0,0 +1,279 @@
|
||||
From 37bbb9175bbd061d4ae14e86c35e4211602dbeaa Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Mon, 23 Mar 2020 17:57:38 +0100
|
||||
Subject: [PATCH 1/4] shell/util: Add touch_file_async() helper
|
||||
|
||||
Add a small helper method to asynchronously "touch" a file and return
|
||||
whether the file was created or not.
|
||||
|
||||
As g_file_make_directory_with_parents() doesn't have an async variant,
|
||||
we need a C helper to make the entire operation non-blocking.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/gnome-shell/issues/2432
|
||||
---
|
||||
src/shell-util.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
src/shell-util.h | 7 ++++++
|
||||
2 files changed, 69 insertions(+)
|
||||
|
||||
diff --git a/src/shell-util.c b/src/shell-util.c
|
||||
index fa3fc08c8..eec67f3d7 100644
|
||||
--- a/src/shell-util.c
|
||||
+++ b/src/shell-util.c
|
||||
@@ -323,6 +323,68 @@ shell_get_file_contents_utf8_sync (const char *path,
|
||||
return contents;
|
||||
}
|
||||
|
||||
+static void
|
||||
+touch_file (GTask *task,
|
||||
+ gpointer object,
|
||||
+ gpointer task_data,
|
||||
+ GCancellable *cancellable)
|
||||
+{
|
||||
+ GFile *file = object;
|
||||
+ g_autoptr (GFile) parent = NULL;
|
||||
+ g_autoptr (GFileOutputStream) stream = NULL;
|
||||
+ GError *error = NULL;
|
||||
+
|
||||
+ parent = g_file_get_parent (file);
|
||||
+ g_file_make_directory_with_parents (parent, cancellable, &error);
|
||||
+
|
||||
+ if (error && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_EXISTS))
|
||||
+ {
|
||||
+ g_task_return_error (task, error);
|
||||
+ return;
|
||||
+ }
|
||||
+ g_clear_error (&error);
|
||||
+
|
||||
+ stream = g_file_create (file, G_FILE_CREATE_NONE, cancellable, &error);
|
||||
+
|
||||
+ if (error && !g_error_matches (error, G_IO_ERROR, G_IO_ERROR_EXISTS))
|
||||
+ {
|
||||
+ g_task_return_error (task, error);
|
||||
+ return;
|
||||
+ }
|
||||
+ g_clear_error (&error);
|
||||
+
|
||||
+ if (stream)
|
||||
+ g_output_stream_close (G_OUTPUT_STREAM (stream), NULL, NULL);
|
||||
+
|
||||
+ g_task_return_boolean (task, stream != NULL);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+shell_util_touch_file_async (GFile *file,
|
||||
+ GAsyncReadyCallback callback,
|
||||
+ gpointer user_data)
|
||||
+{
|
||||
+ g_autoptr (GTask) task = NULL;
|
||||
+
|
||||
+ g_return_if_fail (G_IS_FILE (file));
|
||||
+
|
||||
+ task = g_task_new (file, NULL, callback, user_data);
|
||||
+ g_task_set_source_tag (task, shell_util_touch_file_async);
|
||||
+
|
||||
+ g_task_run_in_thread (task, touch_file);
|
||||
+}
|
||||
+
|
||||
+gboolean
|
||||
+shell_util_touch_file_finish (GFile *file,
|
||||
+ GAsyncResult *res,
|
||||
+ GError **error)
|
||||
+{
|
||||
+ g_return_val_if_fail (G_IS_FILE (file), FALSE);
|
||||
+ g_return_val_if_fail (G_IS_TASK (res), FALSE);
|
||||
+
|
||||
+ return g_task_propagate_boolean (G_TASK (res), error);
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* shell_util_wifexited:
|
||||
* @status: the status returned by wait() or waitpid()
|
||||
diff --git a/src/shell-util.h b/src/shell-util.h
|
||||
index 02b8404e9..bedf516ba 100644
|
||||
--- a/src/shell-util.h
|
||||
+++ b/src/shell-util.h
|
||||
@@ -32,6 +32,13 @@ gboolean shell_write_string_to_stream (GOutputStream *stream,
|
||||
char *shell_get_file_contents_utf8_sync (const char *path,
|
||||
GError **error);
|
||||
|
||||
+void shell_util_touch_file_async (GFile *file,
|
||||
+ GAsyncReadyCallback callback,
|
||||
+ gpointer user_data);
|
||||
+gboolean shell_util_touch_file_finish (GFile *file,
|
||||
+ GAsyncResult *res,
|
||||
+ GError **error);
|
||||
+
|
||||
gboolean shell_util_wifexited (int status,
|
||||
int *exit);
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
|
||||
From 1f75494bea1ef7017d50d77cf5c7ad6b9668d4f5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Mon, 23 Mar 2020 18:00:27 +0100
|
||||
Subject: [PATCH 2/4] environment: Hook up touch_file to GFile prototype
|
||||
|
||||
We don't usually extend introspected types with our own API, but in
|
||||
this case it's too tempting to make the helper functions usable with
|
||||
Gio._promisify() ...
|
||||
|
||||
https://gitlab.gnome.org/GNOME/gnome-shell/issues/2432
|
||||
---
|
||||
js/ui/environment.js | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/environment.js b/js/ui/environment.js
|
||||
index e22ec7402..9c125d3eb 100644
|
||||
--- a/js/ui/environment.js
|
||||
+++ b/js/ui/environment.js
|
||||
@@ -9,7 +9,7 @@ imports.gi.versions.Gtk = '3.0';
|
||||
imports.gi.versions.TelepathyGLib = '0.12';
|
||||
imports.gi.versions.TelepathyLogger = '0.2';
|
||||
|
||||
-const { Clutter, GLib, Shell, St } = imports.gi;
|
||||
+const { Clutter, Gio, GLib, Shell, St } = imports.gi;
|
||||
const Gettext = imports.gettext;
|
||||
|
||||
// We can't import shell JS modules yet, because they may have
|
||||
@@ -97,6 +97,13 @@ function init() {
|
||||
return St.describe_actor(this);
|
||||
};
|
||||
|
||||
+ Gio._LocalFilePrototype.touch_async = function (callback) {
|
||||
+ Shell.util_touch_file_async(this, callback);
|
||||
+ };
|
||||
+ Gio._LocalFilePrototype.touch_finish = function (result) {
|
||||
+ return Shell.util_touch_file_finish(this, result);
|
||||
+ };
|
||||
+
|
||||
let origToString = Object.prototype.toString;
|
||||
Object.prototype.toString = function() {
|
||||
let base = origToString.call(this);
|
||||
--
|
||||
2.31.1
|
||||
|
||||
|
||||
From 4bef23c7176a43f4dcf146e70bbb8aaa701b8cd2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 20 Mar 2020 12:42:04 +0100
|
||||
Subject: [PATCH 3/4] main: Do not warn about missing GDM on each login
|
||||
|
||||
We now warn on startup if screen locking isn't available, however for
|
||||
users who choose not to use GDM or logind, repeating the warning on
|
||||
each login is more annoying than helpful.
|
||||
|
||||
Instead, limit the warning to the first login on which the screen lock
|
||||
became unavailable. That way the notification will still serve the
|
||||
intended purpose of informing the user, but without being perceived
|
||||
as nagging.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/gnome-shell/issues/2432
|
||||
---
|
||||
js/ui/main.js | 36 +++++++++++++++++++++++++++++++-----
|
||||
1 file changed, 31 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/js/ui/main.js b/js/ui/main.js
|
||||
index 1203b3c39..a3fad158c 100644
|
||||
--- a/js/ui/main.js
|
||||
+++ b/js/ui/main.js
|
||||
@@ -81,6 +81,9 @@ let _a11ySettings = null;
|
||||
let _themeResource = null;
|
||||
let _oskResource = null;
|
||||
|
||||
+Gio._promisify(Gio._LocalFilePrototype, 'delete_async', 'delete_finish');
|
||||
+Gio._promisify(Gio._LocalFilePrototype, 'touch_async', 'touch_finish');
|
||||
+
|
||||
function _sessionUpdated() {
|
||||
if (sessionMode.isPrimary)
|
||||
_loadDefaultStylesheet();
|
||||
@@ -242,11 +245,8 @@ function _initializeUI() {
|
||||
}
|
||||
|
||||
if (sessionMode.currentMode !== 'gdm' &&
|
||||
- sessionMode.currentMode !== 'initial-setup' &&
|
||||
- screenShield === null) {
|
||||
- notify(_('Screen Lock disabled'),
|
||||
- _('Screen Locking requires the GNOME display manager.'));
|
||||
- }
|
||||
+ sessionMode.currentMode !== 'initial-setup')
|
||||
+ _handleLockScreenWarning();
|
||||
|
||||
let perfModuleName = GLib.getenv("SHELL_PERF_MODULE");
|
||||
if (perfModuleName) {
|
||||
@@ -257,6 +257,32 @@ function _initializeUI() {
|
||||
});
|
||||
}
|
||||
|
||||
+async function _handleLockScreenWarning() {
|
||||
+ const path = '%s/lock-warning-shown'.format(global.userdatadir);
|
||||
+ const file = Gio.File.new_for_path(path);
|
||||
+
|
||||
+ const hasLockScreen = screenShield !== null;
|
||||
+ if (hasLockScreen) {
|
||||
+ try {
|
||||
+ await file.delete_async(0, null);
|
||||
+ } catch (e) {
|
||||
+ if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
|
||||
+ logError(e);
|
||||
+ }
|
||||
+ } else {
|
||||
+ try {
|
||||
+ if (!await file.touch_async())
|
||||
+ return;
|
||||
+ } catch (e) {
|
||||
+ logError(e);
|
||||
+ }
|
||||
+
|
||||
+ notify(
|
||||
+ _('Screen Lock disabled'),
|
||||
+ _('Screen Locking requires the GNOME display manager.'));
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
function _getStylesheet(name) {
|
||||
let stylesheet;
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
|
||||
From c3f34e786826d0ed1af4150190159fed50d9fb87 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 22 Oct 2020 20:11:14 +0200
|
||||
Subject: [PATCH 4/4] messageTray: Default to generic policy
|
||||
|
||||
How and if notifications are shown is controlled by NotificationPolicy
|
||||
objects. But ever since 098bd45, only notification daemon sources or
|
||||
notifications associated with an app are hooked up to GSettings.
|
||||
|
||||
The hardcoded default policy for built-in notifications (including
|
||||
those provided by extensions) arguably made sense back then, but
|
||||
now that the main setting has been rebranded as "Do Not Disturb"
|
||||
and is exposed prominently in the calendar drop-down, following
|
||||
GSettings is a better default.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3291
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1511>
|
||||
---
|
||||
js/ui/messageTray.js | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
|
||||
index 8f8130451..f6bdae8e4 100644
|
||||
--- a/js/ui/messageTray.js
|
||||
+++ b/js/ui/messageTray.js
|
||||
@@ -731,7 +731,7 @@ var Source = class Source {
|
||||
}
|
||||
|
||||
_createPolicy() {
|
||||
- return new NotificationPolicy();
|
||||
+ return new NotificationGenericPolicy();
|
||||
}
|
||||
|
||||
get narrowestPrivacyScope() {
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,6 +1,6 @@
|
||||
Name: gnome-shell
|
||||
Version: 3.32.2
|
||||
Release: 36%{?dist}
|
||||
Release: 38%{?dist}
|
||||
Summary: Window management and application launching for GNOME
|
||||
|
||||
Group: User Interface/Desktops
|
||||
@ -33,6 +33,7 @@ Patch25: 0001-shellEntry-Determine-if-password-entry-from-content-.patch
|
||||
Patch26: 0002-shellEntry-Give-password-menu-item-text-when-it-s-cr.patch
|
||||
Patch27: 0003-shellEntry-Handle-password-item-from-dedication-func.patch
|
||||
Patch28: 0004-shellEntry-Support-lockdown-of-Show-Text-menu-in-pas.patch
|
||||
Patch29: 0005-shellEntry-Only-mask-text-in-password-entries.patch
|
||||
|
||||
# Misc.
|
||||
Patch30: 0001-shellDBus-Add-a-DBus-method-to-load-a-single-extensi.patch
|
||||
@ -59,11 +60,12 @@ Patch50: 0001-st-texture-cache-Cancel-pending-requests-on-icon-the.patch
|
||||
Patch51: introspect-backports.patch
|
||||
Patch52: 0001-popupMenu-Handle-keypress-if-numlock-is-enabled.patch
|
||||
Patch53: 0001-theme-Update-window-preview-style.patch
|
||||
Patch54: warn-less.patch
|
||||
|
||||
# Backport JS invalid access warnings (#1651894, #1663171, #1642482, #1637622)
|
||||
Patch54: fix-invalid-access-warnings.patch
|
||||
Patch55: more-spurious-allocation-warnings.patch
|
||||
Patch56: fix-some-js-warnings.patch
|
||||
Patch55: fix-invalid-access-warnings.patch
|
||||
Patch56: more-spurious-allocation-warnings.patch
|
||||
Patch57: fix-some-js-warnings.patch
|
||||
|
||||
# Backport performance fixes under load (#1820760)
|
||||
Patch60: 0001-environment-reduce-calls-to-g_time_zone_new_local.patch
|
||||
@ -263,6 +265,14 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de
|
||||
%{_mandir}/man1/%{name}.1.gz
|
||||
|
||||
%changelog
|
||||
* Thu Jul 29 2021 Florian Müllner <fmuellner@redhat.com> - 3.32.2-38
|
||||
- Only mask text in password entries
|
||||
Resolves: #1987233
|
||||
|
||||
* Wed Jul 28 2021 Florian Müllner <fmuellner@redhat.com> - 3.32.2-37
|
||||
- Only warn once when not running under GDM
|
||||
Resolves: #1980661
|
||||
|
||||
* Tue Jul 20 2021 Ray Strode <rstrode@redhat.com> - 3.32.2-36
|
||||
- Add ability to lock down password showing
|
||||
Resolves: #1770302
|
||||
|
Loading…
Reference in New Issue
Block a user