AlmaLinux changes: Use AlmaLinux icon as activities button
Use unbranded illustrations Fix Firefox desktop filename in favorites
This commit is contained in:
commit
9b9d71535b
1
.gitignore
vendored
1
.gitignore
vendored
@ -241,3 +241,4 @@ gnome-shell-2.31.5.tar.bz2
|
||||
/gnome-shell-47.8.tar.xz
|
||||
/gnome-shell-47.9.tar.xz
|
||||
/gnome-shell-47.10.tar.xz
|
||||
/gnome-shell-49.1.tar.xz
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0bdde770a36e0c43b7f2ff580aa80cb6ef1583da Mon Sep 17 00:00:00 2001
|
||||
From 67bb91b741b5a30624c02cbc65c9f2a1bfe4ac6f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 27 Aug 2025 13:25:01 +0200
|
||||
Subject: [PATCH] Revert "Require gjs >= 1.81.2 for build because
|
||||
@ -10,18 +10,18 @@ This reverts commit 9ce0cf036e4b22b6933e5425a0604fd0135d8b31.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index aed3f89611..10428ea96f 100644
|
||||
index 327e5f0b7e..f1df40f702 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -24,7 +24,7 @@ eds_req = '>= 3.33.1'
|
||||
@@ -23,7 +23,7 @@ eds_req = '>= 3.33.1'
|
||||
gcr_req = '>= 3.90.0'
|
||||
gio_req = '>= 2.79.2'
|
||||
gi_req = '>= 1.49.1'
|
||||
-gjs_req = '>= 1.81.2'
|
||||
+gjs_req = '>= 1.73.1'
|
||||
gtk_req = '>= 4.0'
|
||||
mutter_req = '>= 47.0'
|
||||
mutter_req = '>= 49.0'
|
||||
polkit_req = '>= 0.100'
|
||||
--
|
||||
2.50.1
|
||||
2.51.1
|
||||
|
||||
|
||||
79
0001-Revert-data-Drop-org.gnome.Shell.desktop.patch
Normal file
79
0001-Revert-data-Drop-org.gnome.Shell.desktop.patch
Normal file
@ -0,0 +1,79 @@
|
||||
From 622ee57d6b53011d11e7e22f741766af6424d398 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 13 Nov 2025 12:57:55 +0100
|
||||
Subject: [PATCH 1/2] Revert "data: Drop org.gnome.Shell.desktop"
|
||||
|
||||
This reverts commit f3911151da7b0e3c630011cb26bd85f719e531d2.
|
||||
---
|
||||
data/meson.build | 13 ++++++++++++-
|
||||
....in => org.gnome.Shell.Extensions.desktop.in.in} | 0
|
||||
...n => org.gnome.Shell.PortalHelper.desktop.in.in} | 0
|
||||
data/org.gnome.Shell.desktop.in.in | 13 +++++++++++++
|
||||
4 files changed, 25 insertions(+), 1 deletion(-)
|
||||
rename data/{org.gnome.Shell.Extensions.desktop.in => org.gnome.Shell.Extensions.desktop.in.in} (100%)
|
||||
rename data/{org.gnome.Shell.PortalHelper.desktop.in => org.gnome.Shell.PortalHelper.desktop.in.in} (100%)
|
||||
create mode 100644 data/org.gnome.Shell.desktop.in.in
|
||||
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
index cc7b5e2a1f..76a32ca59f 100644
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -1,6 +1,7 @@
|
||||
data_builddir = meson.current_build_dir()
|
||||
|
||||
desktop_files = [
|
||||
+ 'org.gnome.Shell.desktop',
|
||||
'org.gnome.Shell.Extensions.desktop',
|
||||
]
|
||||
service_files = []
|
||||
@@ -10,9 +11,19 @@ if have_portal_helper
|
||||
service_files += 'org.gnome.Shell.PortalHelper.service'
|
||||
endif
|
||||
|
||||
+desktopconf = configuration_data()
|
||||
+# We substitute in bindir so it works as an autostart
|
||||
+# file when built in a non-system prefix
|
||||
+desktopconf.set('bindir', bindir)
|
||||
+desktopconf.set('systemd_hidden', have_systemd ? 'true' : 'false')
|
||||
+
|
||||
foreach desktop_file : desktop_files
|
||||
i18n.merge_file(
|
||||
- input: desktop_file + '.in',
|
||||
+ input: configure_file(
|
||||
+ input: desktop_file + '.in.in',
|
||||
+ output: desktop_file + '.in',
|
||||
+ configuration: desktopconf
|
||||
+ ),
|
||||
output: desktop_file,
|
||||
po_dir: po_dir,
|
||||
install: true,
|
||||
diff --git a/data/org.gnome.Shell.Extensions.desktop.in b/data/org.gnome.Shell.Extensions.desktop.in.in
|
||||
similarity index 100%
|
||||
rename from data/org.gnome.Shell.Extensions.desktop.in
|
||||
rename to data/org.gnome.Shell.Extensions.desktop.in.in
|
||||
diff --git a/data/org.gnome.Shell.PortalHelper.desktop.in b/data/org.gnome.Shell.PortalHelper.desktop.in.in
|
||||
similarity index 100%
|
||||
rename from data/org.gnome.Shell.PortalHelper.desktop.in
|
||||
rename to data/org.gnome.Shell.PortalHelper.desktop.in.in
|
||||
diff --git a/data/org.gnome.Shell.desktop.in.in b/data/org.gnome.Shell.desktop.in.in
|
||||
new file mode 100644
|
||||
index 0000000000..59d1cd2fe9
|
||||
--- /dev/null
|
||||
+++ b/data/org.gnome.Shell.desktop.in.in
|
||||
@@ -0,0 +1,13 @@
|
||||
+[Desktop Entry]
|
||||
+Type=Application
|
||||
+Name=GNOME Shell
|
||||
+Comment=Window management and application launching
|
||||
+Exec=@bindir@/gnome-shell
|
||||
+Categories=GNOME;GTK;Core;
|
||||
+OnlyShowIn=GNOME;
|
||||
+NoDisplay=true
|
||||
+X-GNOME-Autostart-Phase=DisplayServer
|
||||
+X-GNOME-Provides=panel;windowmanager;
|
||||
+X-GNOME-Autostart-Notify=true
|
||||
+X-GNOME-AutoRestart=false
|
||||
+X-GNOME-HiddenUnderSystemd=@systemd_hidden@
|
||||
--
|
||||
2.51.1
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
From 8db86cefa58d5538aec7c4b24cd19e8f9f47d8d3 Mon Sep 17 00:00:00 2001
|
||||
From df7e3d8e4e4f5d6d875d1c1a48d23475dc98dc80 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 13 Aug 2025 13:44:30 +0200
|
||||
Date: Fri, 7 Nov 2025 19:57:25 +0100
|
||||
Subject: [PATCH] Revert "status/keyboard: Limit the input method indicator to
|
||||
< 3 grapheme clusters"
|
||||
|
||||
@ -8,16 +8,16 @@ The change requires support for Intl.Segmenter that was introduced
|
||||
in mozjs-125. RHEL still includes an older gjs release based on
|
||||
mozjs-115, so revert the change.
|
||||
|
||||
This reverts commit a06400649de640e633247ebbfff56ebbfbda9933.
|
||||
This reverts commit f2246442a0ade263a1f9e775f02818bbd2862ae8.
|
||||
---
|
||||
js/ui/status/keyboard.js | 9 +--------
|
||||
1 file changed, 1 insertion(+), 8 deletions(-)
|
||||
|
||||
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
|
||||
index df6c51c5d0..68a8044d0d 100644
|
||||
index 62f1e731db..7f00e289e3 100644
|
||||
--- a/js/ui/status/keyboard.js
|
||||
+++ b/js/ui/status/keyboard.js
|
||||
@@ -996,12 +996,6 @@ class InputSourceIndicator extends PanelMenu.Button {
|
||||
@@ -1005,12 +1005,6 @@ class InputSourceIndicator extends PanelMenu.Button {
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ index df6c51c5d0..68a8044d0d 100644
|
||||
_buildPropSubMenu(menu, props) {
|
||||
if (!props)
|
||||
return;
|
||||
@@ -1025,8 +1019,7 @@ class InputSourceIndicator extends PanelMenu.Button {
|
||||
@@ -1034,8 +1028,7 @@ class InputSourceIndicator extends PanelMenu.Button {
|
||||
let currentSource = this._inputSourceManager.currentSource;
|
||||
if (currentSource) {
|
||||
let indicatorLabel = this._indicatorLabels[currentSource.index];
|
||||
@ -41,5 +41,5 @@ index df6c51c5d0..68a8044d0d 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.50.1
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 55c1dfed04084e9dbaf034263172bc745f905718 Mon Sep 17 00:00:00 2001
|
||||
From 9529c76492722852802aa7aa8d351e98610487ff Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 20 May 2015 16:44:00 +0200
|
||||
Subject: [PATCH] app: Fall back to window title instead of WM_CLASS
|
||||
@ -11,10 +11,10 @@ a .desktop file ...
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/shell-app.c b/src/shell-app.c
|
||||
index 04d0ab508b..4a55daf809 100644
|
||||
index 916783a597..9a90daa1dc 100644
|
||||
--- a/src/shell-app.c
|
||||
+++ b/src/shell-app.c
|
||||
@@ -247,7 +247,7 @@ shell_app_get_name (ShellApp *app)
|
||||
@@ -262,7 +262,7 @@ shell_app_get_name (ShellApp *app)
|
||||
const char *name = NULL;
|
||||
|
||||
if (window)
|
||||
@ -24,5 +24,5 @@ index 04d0ab508b..4a55daf809 100644
|
||||
name = C_("program", "Unknown");
|
||||
return name;
|
||||
--
|
||||
2.45.2
|
||||
2.51.1
|
||||
|
||||
|
||||
27
0001-build-Lower-gsettings-desktop-schemas-requirement.patch
Normal file
27
0001-build-Lower-gsettings-desktop-schemas-requirement.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 196fce5906753d6dad766dac4494038ff89599c8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Mon, 10 Nov 2025 12:43:12 +0100
|
||||
Subject: [PATCH] build: Lower gsettings-desktop-schemas requirement
|
||||
|
||||
The module won't be rebased to 49.x, instead the required schema
|
||||
additions have been backported.
|
||||
---
|
||||
meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index f1df40f702..decb2ba136 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -27,7 +27,7 @@ gjs_req = '>= 1.73.1'
|
||||
gtk_req = '>= 4.0'
|
||||
mutter_req = '>= 49.0'
|
||||
polkit_req = '>= 0.100'
|
||||
-schemas_req = '>= 49.alpha'
|
||||
+schemas_req = '>= 47.0'
|
||||
systemd_req = '>= 246'
|
||||
gnome_desktop_req = '>= 40'
|
||||
pipewire_req = '>= 0.3.49'
|
||||
--
|
||||
2.51.1
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 170ccbd3d237bf980f46ae87e3da8238df9f8a3c Mon Sep 17 00:00:00 2001
|
||||
From be6698d9c8f7fbd164ac1d49b1b56b6a1cb0a059 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 16 Apr 2024 20:49:40 +0200
|
||||
Subject: [PATCH] data: Update generated stylesheets
|
||||
@ -10,10 +10,10 @@ Subject: [PATCH] data: Update generated stylesheets
|
||||
3 files changed, 9 insertions(+)
|
||||
|
||||
diff --git a/data/theme/gnome-shell-dark.css b/data/theme/gnome-shell-dark.css
|
||||
index 339adf7e7b..5dd7d29a3a 100644
|
||||
index 75dc5c6582..dc4921c8a5 100644
|
||||
--- a/data/theme/gnome-shell-dark.css
|
||||
+++ b/data/theme/gnome-shell-dark.css
|
||||
@@ -1720,6 +1720,9 @@ StScrollBar {
|
||||
@@ -1836,6 +1836,9 @@ StScrollBar {
|
||||
min-width: 0.5455em;
|
||||
min-height: 0.5455em;
|
||||
background-color: #ffffff; }
|
||||
@ -24,10 +24,10 @@ index 339adf7e7b..5dd7d29a3a 100644
|
||||
spacing: 0.409em; }
|
||||
#panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon {
|
||||
diff --git a/data/theme/gnome-shell-high-contrast.css b/data/theme/gnome-shell-high-contrast.css
|
||||
index 4bb622aa26..8f94fa4101 100644
|
||||
index 69749c1df4..118f15ba8d 100644
|
||||
--- a/data/theme/gnome-shell-high-contrast.css
|
||||
+++ b/data/theme/gnome-shell-high-contrast.css
|
||||
@@ -1897,6 +1897,9 @@ StScrollBar {
|
||||
@@ -2032,6 +2032,9 @@ StScrollBar {
|
||||
min-width: 0.5455em;
|
||||
min-height: 0.5455em;
|
||||
background-color: #ffffff; }
|
||||
@ -38,13 +38,13 @@ index 4bb622aa26..8f94fa4101 100644
|
||||
spacing: 0.409em; }
|
||||
#panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon {
|
||||
diff --git a/data/theme/gnome-shell-light.css b/data/theme/gnome-shell-light.css
|
||||
index 82a5b0bc18..128aa93dea 100644
|
||||
index 174d723cfe..579f909d79 100644
|
||||
--- a/data/theme/gnome-shell-light.css
|
||||
+++ b/data/theme/gnome-shell-light.css
|
||||
@@ -1720,6 +1720,9 @@ StScrollBar {
|
||||
@@ -1837,6 +1837,9 @@ StScrollBar {
|
||||
min-width: 0.5455em;
|
||||
min-height: 0.5455em;
|
||||
background-color: #282828; }
|
||||
background-color: #222226; }
|
||||
+ #panel .panel-button#panelActivities .activities-logo {
|
||||
+ icon-size: 1.36375em;
|
||||
+ padding: 0 6px; }
|
||||
@ -52,5 +52,5 @@ index 82a5b0bc18..128aa93dea 100644
|
||||
spacing: 0.409em; }
|
||||
#panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon {
|
||||
--
|
||||
2.45.2
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 7e82f0a73a1d1576e94b17e21d07fd3978ba7c33 Mon Sep 17 00:00:00 2001
|
||||
From aab759b25529480698b745393067d60b48b04e3d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Mon, 1 Feb 2021 18:26:00 +0100
|
||||
Subject: [PATCH] extensionDownloader: Refuse to override system extensions
|
||||
@ -13,10 +13,10 @@ already installed system-wide.
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/js/ui/extensionDownloader.js b/js/ui/extensionDownloader.js
|
||||
index 0366c5dfa8..5b27543aa6 100644
|
||||
index fe687cba43..cc6cd0a0b5 100644
|
||||
--- a/js/ui/extensionDownloader.js
|
||||
+++ b/js/ui/extensionDownloader.js
|
||||
@@ -39,6 +39,15 @@ export async function installExtension(uuid, invocation) {
|
||||
@@ -37,6 +37,15 @@ export async function installExtension(uuid, invocation) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -33,5 +33,5 @@ index 0366c5dfa8..5b27543aa6 100644
|
||||
uuid,
|
||||
shell_version: Config.PACKAGE_VERSION,
|
||||
--
|
||||
2.45.2
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From ff73f820b1398e5d60b8984b0003db46ad70b8ec Mon Sep 17 00:00:00 2001
|
||||
From 5293ee585f876169e31f3b6af737a42d30302f71 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Wed, 28 Apr 2021 16:50:03 +0200
|
||||
Subject: [PATCH] gdm: Work around failing fingerprint auth
|
||||
@ -13,7 +13,7 @@ failure instead.
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/js/gdm/util.js b/js/gdm/util.js
|
||||
index 97df6d687e..371953cb25 100644
|
||||
index f6b797c321..aced46e78c 100644
|
||||
--- a/js/gdm/util.js
|
||||
+++ b/js/gdm/util.js
|
||||
@@ -109,6 +109,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
@ -24,7 +24,7 @@ index 97df6d687e..371953cb25 100644
|
||||
|
||||
this._messageQueue = [];
|
||||
this._messageQueueTimeoutId = 0;
|
||||
@@ -669,6 +670,10 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
@@ -670,6 +671,10 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
this._hold.acquire();
|
||||
try {
|
||||
this._activeServices.add(serviceName);
|
||||
@ -35,7 +35,7 @@ index 97df6d687e..371953cb25 100644
|
||||
if (this._userName) {
|
||||
await this._userVerifier.call_begin_verification_for_user(
|
||||
serviceName, this._userName, this._cancellable);
|
||||
@@ -763,6 +768,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
@@ -764,6 +769,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
const cancellable = this._cancellable;
|
||||
this._fingerprintFailedId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
|
||||
FINGERPRINT_ERROR_TIMEOUT_WAIT, () => {
|
||||
@ -43,7 +43,7 @@ index 97df6d687e..371953cb25 100644
|
||||
this._fingerprintFailedId = 0;
|
||||
if (!cancellable.is_cancelled())
|
||||
this._verificationFailed(serviceName, false);
|
||||
@@ -829,6 +835,18 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
@@ -837,6 +843,18 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
if (serviceName === FINGERPRINT_SERVICE_NAME) {
|
||||
if (this._fingerprintFailedId)
|
||||
GLib.source_remove(this._fingerprintFailedId);
|
||||
@ -63,5 +63,5 @@ index 97df6d687e..371953cb25 100644
|
||||
|
||||
// For Not Listed / enterprise logins, immediately reset
|
||||
--
|
||||
2.43.2
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 2060b040f91c3751861a1c1b985c5fe8cc891d58 Mon Sep 17 00:00:00 2001
|
||||
From e50bb4482d8171b3cad748706b930684e0edccae Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 29 Oct 2020 18:21:06 +0100
|
||||
Subject: [PATCH] main: Dump stack on segfaults by default
|
||||
@ -8,10 +8,10 @@ Subject: [PATCH] main: Dump stack on segfaults by default
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index 4be47258eb..b324b6b96a 100644
|
||||
index af4fa8597e..03772ec7fb 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -47,6 +47,7 @@ static char *script_path = NULL;
|
||||
@@ -46,6 +46,7 @@ static char *script_path = NULL;
|
||||
#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1
|
||||
#define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4
|
||||
|
||||
@ -19,7 +19,7 @@ index 4be47258eb..b324b6b96a 100644
|
||||
enum {
|
||||
SHELL_DEBUG_BACKTRACE_WARNINGS = 1,
|
||||
SHELL_DEBUG_BACKTRACE_SEGFAULTS = 2,
|
||||
@@ -381,8 +382,11 @@ shell_init_debug (const char *debug_env)
|
||||
@@ -364,8 +365,11 @@ shell_init_debug (const char *debug_env)
|
||||
{ "backtrace-segfaults", SHELL_DEBUG_BACKTRACE_SEGFAULTS },
|
||||
};
|
||||
|
||||
@ -34,5 +34,5 @@ index 4be47258eb..b324b6b96a 100644
|
||||
|
||||
static GLogWriterOutput
|
||||
--
|
||||
2.45.2
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From c0b2f60108e7b8cffa10306ef54c620fe71a6735 Mon Sep 17 00:00:00 2001
|
||||
From 755bd786c49c0b37c06aac781d2a7ec34357b49a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 22 May 2024 18:42:06 +0200
|
||||
Subject: [PATCH] panel: Use branding in activities button
|
||||
@ -10,10 +10,10 @@ Replace the upstream workspace dots with a red hat.
|
||||
2 files changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/theme/gnome-shell-sass/widgets/_panel.scss b/data/theme/gnome-shell-sass/widgets/_panel.scss
|
||||
index 2a29eee9da..02f8232de6 100644
|
||||
index 1b84dc201f..1514d3ead2 100644
|
||||
--- a/data/theme/gnome-shell-sass/widgets/_panel.scss
|
||||
+++ b/data/theme/gnome-shell-sass/widgets/_panel.scss
|
||||
@@ -58,6 +58,11 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
|
||||
@@ -56,6 +56,11 @@ $panel_transition_duration: 250ms; // same as the overview transition duration
|
||||
min-height: $scalable_icon_size * 0.5;
|
||||
background-color: $panel_fg_color;
|
||||
}
|
||||
@ -26,10 +26,10 @@ index 2a29eee9da..02f8232de6 100644
|
||||
|
||||
// screen activity indicators
|
||||
diff --git a/js/ui/panel.js b/js/ui/panel.js
|
||||
index 62c8ebb31a..1d11cc1b5f 100644
|
||||
index bdb6f7b197..5be0c477c6 100644
|
||||
--- a/js/ui/panel.js
|
||||
+++ b/js/ui/panel.js
|
||||
@@ -425,7 +425,15 @@ class ActivitiesButton extends PanelMenu.Button {
|
||||
@@ -208,7 +208,15 @@ class ActivitiesButton extends PanelMenu.Button {
|
||||
accessible_name: _('Activities'),
|
||||
});
|
||||
|
||||
@ -47,5 +47,5 @@ index 62c8ebb31a..1d11cc1b5f 100644
|
||||
Main.overview.connectObject('showing',
|
||||
() => this.add_style_pseudo_class('checked'),
|
||||
--
|
||||
2.45.2
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 17e77f1729b8542c46d5020d55edce4daf7ab24a Mon Sep 17 00:00:00 2001
|
||||
From 688687465d7f45da81847554221fb8c72d079510 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 3 Jul 2015 13:54:36 -0400
|
||||
Subject: [PATCH] screenShield: unblank when inserting smartcard
|
||||
@ -13,10 +13,10 @@ action to get the screen to unblank.
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
|
||||
index d2236fb900..b62440dff6 100644
|
||||
index 2087c393ed..428421b370 100644
|
||||
--- a/js/ui/screenShield.js
|
||||
+++ b/js/ui/screenShield.js
|
||||
@@ -94,8 +94,10 @@ export class ScreenShield extends Signals.EventEmitter {
|
||||
@@ -92,8 +92,10 @@ export class ScreenShield extends Signals.EventEmitter {
|
||||
this._smartcardManager = SmartcardManager.getSmartcardManager();
|
||||
this._smartcardManager.connect('smartcard-inserted',
|
||||
(manager, token) => {
|
||||
@ -29,5 +29,5 @@ index d2236fb900..b62440dff6 100644
|
||||
|
||||
this._credentialManagers = {};
|
||||
--
|
||||
2.45.2
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0bd4ecbbcc47a8574edae46b56695572a846a1e2 Mon Sep 17 00:00:00 2001
|
||||
From b434e61f95b1bb63b8f5e027a718091482be232a Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Tue, 15 Jan 2019 12:54:32 -0500
|
||||
Subject: [PATCH] st-texture-cache: purge on resume
|
||||
@ -12,10 +12,10 @@ so the texture cache needs to evict all textures in that situation.
|
||||
3 files changed, 16 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/main.js b/js/ui/main.js
|
||||
index 73980edb88..5c17258177 100644
|
||||
index 40898e15c2..bb6d8f6723 100644
|
||||
--- a/js/ui/main.js
|
||||
+++ b/js/ui/main.js
|
||||
@@ -263,7 +263,11 @@ async function _initializeUI() {
|
||||
@@ -298,7 +298,11 @@ async function _initializeUI() {
|
||||
return true;
|
||||
});
|
||||
|
||||
@ -29,7 +29,7 @@ index 73980edb88..5c17258177 100644
|
||||
global.context.connect('notify::unsafe-mode', () => {
|
||||
if (!global.context.unsafe_mode)
|
||||
diff --git a/src/st/st-texture-cache.c b/src/st/st-texture-cache.c
|
||||
index e03ec44619..ac19e98cf5 100644
|
||||
index 2c7601da1a..0df930ad43 100644
|
||||
--- a/src/st/st-texture-cache.c
|
||||
+++ b/src/st/st-texture-cache.c
|
||||
@@ -131,6 +131,16 @@ st_texture_cache_class_init (StTextureCacheClass *klass)
|
||||
@ -50,17 +50,17 @@ index e03ec44619..ac19e98cf5 100644
|
||||
static void
|
||||
st_texture_cache_evict_icons (StTextureCache *cache)
|
||||
diff --git a/src/st/st-texture-cache.h b/src/st/st-texture-cache.h
|
||||
index 7ca08ab34a..f600938047 100644
|
||||
index 4158298042..5a77165813 100644
|
||||
--- a/src/st/st-texture-cache.h
|
||||
+++ b/src/st/st-texture-cache.h
|
||||
@@ -42,6 +42,7 @@ typedef enum {
|
||||
@@ -43,6 +43,7 @@ typedef enum {
|
||||
} StTextureCachePolicy;
|
||||
|
||||
StTextureCache* st_texture_cache_get_default (void);
|
||||
+void st_texture_cache_clear (StTextureCache *cache);
|
||||
|
||||
ClutterActor *
|
||||
st_texture_cache_load_sliced_image (StTextureCache *cache,
|
||||
ClutterActor *st_texture_cache_load_gicon (StTextureCache *cache,
|
||||
StThemeNode *theme_node,
|
||||
--
|
||||
2.47.1
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,63 +0,0 @@
|
||||
From 193b664c7daa2ea7707e8b7fba03afe07e2cbd2a Mon Sep 17 00:00:00 2001
|
||||
From: Joan Torres Lopez <joantolo@redhat.com>
|
||||
Date: Tue, 15 Jul 2025 11:27:01 +0200
|
||||
Subject: [PATCH] systemActions: Optionally allow restart/shutdown on lock
|
||||
screen
|
||||
|
||||
Support the new 'restart-enabled' setting from 'org.gnome.desktop.screensaver'
|
||||
to optionally allow restart/shutdown from the lock screen.
|
||||
|
||||
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1584
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3797>
|
||||
---
|
||||
js/misc/systemActions.js | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/misc/systemActions.js b/js/misc/systemActions.js
|
||||
index a027a8134..c24d254b4 100644
|
||||
--- a/js/misc/systemActions.js
|
||||
+++ b/js/misc/systemActions.js
|
||||
@@ -12,10 +12,12 @@ import * as Screenshot from '../ui/screenshot.js';
|
||||
|
||||
const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
|
||||
const LOGIN_SCREEN_SCHEMA = 'org.gnome.login-screen';
|
||||
+const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
|
||||
const DISABLE_USER_SWITCH_KEY = 'disable-user-switching';
|
||||
const DISABLE_LOCK_SCREEN_KEY = 'disable-lock-screen';
|
||||
const DISABLE_LOG_OUT_KEY = 'disable-log-out';
|
||||
const DISABLE_RESTART_KEY = 'disable-restart-buttons';
|
||||
+const RESTART_ENABLED_KEY = 'restart-enabled';
|
||||
const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out';
|
||||
|
||||
const POWER_OFF_ACTION_ID = 'power-off';
|
||||
@@ -153,6 +155,7 @@ const SystemActions = GObject.registerClass({
|
||||
this._loginScreenSettings = new Gio.Settings({schema_id: LOGIN_SCREEN_SCHEMA});
|
||||
this._lockdownSettings = new Gio.Settings({schema_id: LOCKDOWN_SCHEMA});
|
||||
this._orientationSettings = new Gio.Settings({schema_id: 'org.gnome.settings-daemon.peripherals.touchscreen'});
|
||||
+ this._screenSaverSettings = new Gio.Settings({schema_id: SCREENSAVER_SCHEMA});
|
||||
|
||||
this._session = new GnomeSession.SessionManager();
|
||||
this._loginManager = LoginManager.getLoginManager();
|
||||
@@ -182,6 +185,9 @@ const SystemActions = GObject.registerClass({
|
||||
this._lockdownSettings.connect(`changed::${DISABLE_LOG_OUT_KEY}`,
|
||||
() => this._updateHaveShutdown());
|
||||
|
||||
+ this._screenSaverSettings.connect(`changed::${RESTART_ENABLED_KEY}`,
|
||||
+ () => this._updateHaveShutdown());
|
||||
+
|
||||
this.forceUpdate();
|
||||
|
||||
this._orientationSettings.connect('changed::orientation-lock', () => {
|
||||
@@ -347,7 +353,8 @@ const SystemActions = GObject.registerClass({
|
||||
}
|
||||
|
||||
_updatePowerOff() {
|
||||
- let disabled = Main.sessionMode.isLocked ||
|
||||
+ let disabled = (Main.sessionMode.isLocked &&
|
||||
+ !this._screenSaverSettings.get_boolean(RESTART_ENABLED_KEY)) ||
|
||||
(Main.sessionMode.isGreeter &&
|
||||
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
|
||||
this._actions.get(POWER_OFF_ACTION_ID).available = this._canHavePowerOff && !disabled;
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 2c43d26950c709020ba78fdc2742adc4fd2841e5 Mon Sep 17 00:00:00 2001
|
||||
From a25806709e5cf5d73c2f261f89e8b7be1759d7c7 Mon Sep 17 00:00:00 2001
|
||||
From: Jakub Steiner <jimmac@gmail.com>
|
||||
Date: Tue, 20 Aug 2024 09:30:36 +0200
|
||||
Subject: [PATCH] theme: Welcome Illustration
|
||||
@ -9,7 +9,7 @@ Subject: [PATCH] theme: Welcome Illustration
|
||||
1 file changed, 106 insertions(+), 245 deletions(-)
|
||||
|
||||
diff --git a/data/theme/gnome-shell-start.svg b/data/theme/gnome-shell-start.svg
|
||||
index af139cf0d..609880493 100644
|
||||
index af139cf0da..6098804938 100644
|
||||
--- a/data/theme/gnome-shell-start.svg
|
||||
+++ b/data/theme/gnome-shell-start.svg
|
||||
@@ -1,67 +1,37 @@
|
||||
@ -459,5 +459,5 @@ index af139cf0d..609880493 100644
|
||||
+ inkscape:original="M 313.48633 103.79883 L 305.27734 108.99023 L 317.28516 113.2793 L 278.90234 137.55273 L 287.01172 144.30859 L 334.9043 114.01953 L 329.75391 109.73047 L 313.48633 103.79883 z M 339.08398 126.42578 C 336.58186 126.44685 334.02099 126.72082 331.4043 127.24805 C 326.21038 128.33537 321.15063 130.43744 316.22461 133.55273 C 311.3442 136.63918 307.7837 139.98905 305.54297 143.60352 C 303.38732 147.22202 302.62161 150.82875 303.24609 154.42383 C 303.95565 158.02294 306.10659 161.31916 309.69727 164.31055 C 313.32741 167.33481 317.52958 169.33062 322.30469 170.30078 C 327.16487 171.27497 332.19279 171.22013 337.38672 170.13281 C 342.66571 169.04952 347.74459 166.9634 352.625 163.87695 C 357.55102 160.76166 361.0924 157.39584 363.24805 153.77734 C 365.44315 150.19171 366.18612 146.59911 365.47656 143 C 364.85208 139.40492 362.72389 136.09458 359.09375 133.07031 C 355.50307 130.07892 351.27814 128.09723 346.41797 127.12305 C 344.03041 126.63796 341.58611 126.40471 339.08398 126.42578 z M 339.03711 134.75977 C 340.59668 134.65532 342.09264 134.71475 343.52344 134.9375 C 346.38503 135.38301 348.86185 136.47651 350.95312 138.21875 C 353.08387 139.99386 354.25653 141.94201 354.47266 144.06055 C 354.6888 146.17909 353.95735 148.37553 352.27734 150.65234 C 350.68241 152.93318 348.17475 155.15496 344.75391 157.31836 C 341.37867 159.45291 338.0017 160.95311 334.625 161.81641 C 331.28776 162.71258 328.18972 162.9377 325.32812 162.49219 C 322.46654 162.04668 319.96863 160.93528 317.83789 159.16016 C 315.74662 157.41792 314.59309 155.48768 314.37695 153.36914 C 314.16081 151.2506 314.87313 149.0382 316.51367 146.72852 C 318.19368 144.4517 320.72242 142.24587 324.09766 140.11133 C 327.5185 137.94792 330.87439 136.43177 334.16602 135.56445 C 335.85437 135.1328 337.47754 134.86421 339.03711 134.75977 z "
|
||||
+ d="m 314.52344,100.95703 a 3.0252571,3.0252571 0 0 0 -2.6543,0.28516 l -8.20898,5.1914 a 3.0252571,3.0252571 0 0 0 0.59961,5.40625 l 6.1621,2.20118 -33.13671,20.95507 a 3.0252571,3.0252571 0 0 0 -0.31836,4.88086 l 8.10937,6.75586 a 3.0252571,3.0252571 0 0 0 3.55274,0.23242 l 47.89257,-30.28906 a 3.0252571,3.0252571 0 0 0 0.31836,-4.88086 l -5.15039,-4.28906 a 3.0252571,3.0252571 0 0 0 -0.89843,-0.51758 z m 24.53515,22.44336 c -2.70552,0.0228 -5.45955,0.32018 -8.25195,0.88281 a 3.0252571,3.0252571 0 0 0 -0.0215,0.004 c -5.57359,1.1668 -10.9804,3.42211 -16.17774,6.70898 -5.15435,3.2597 -9.07893,6.89093 -11.63476,11.01368 a 3.0252571,3.0252571 0 0 0 -0.0293,0.0449 c -2.44678,4.10719 -3.43195,8.54475 -2.67774,12.88672 a 3.0252571,3.0252571 0 0 0 0.0117,0.0684 c 0.86616,4.39343 3.51054,8.31439 7.48438,11.625 4.00932,3.34015 8.71238,5.56847 13.9414,6.63085 a 3.0252571,3.0252571 0 0 0 0.008,0.002 c 5.27203,1.05674 10.73013,0.98909 16.2832,-0.17188 0.001,-2.8e-4 0.003,-0.002 0.004,-0.002 5.65232,-1.16046 11.08416,-3.3969 16.24414,-6.66016 5.19597,-3.28601 9.11209,-6.93484 11.59179,-11.08789 2.49319,-4.07791 3.46133,-8.54055 2.61524,-12.89062 -0.77549,-4.41697 -3.41096,-8.36912 -7.41992,-11.70899 -3.98043,-3.31609 -8.70902,-5.52412 -14.00977,-6.58789 -6.3e-4,-1.3e-4 -0.001,1.3e-4 -0.002,0 -2.59631,-0.52736 -5.25296,-0.7806 -7.95899,-0.75781 z m 0.17969,14.37695 c 1.35455,-0.0907 2.62538,-0.0376 3.82031,0.14844 2.38032,0.37058 4.29192,1.22835 5.95899,2.61719 1.71385,1.4278 2.3223,2.61846 2.44531,3.82422 0.12477,1.22298 -0.24192,2.62183 -1.61914,4.48828 a 3.0252571,3.0252571 0 0 0 -0.0449,0.0625 c -1.27029,1.81658 -3.46759,3.82347 -6.66211,5.84375 -3.14603,1.98959 -6.23089,3.34817 -9.26172,4.12305 a 3.0252571,3.0252571 0 0 0 -0.0352,0.01 c -3.00691,0.80747 -5.66623,0.98001 -8.04687,0.60938 -2.37037,-0.36904 -4.30499,-1.23959 -6.01953,-2.66797 -1.66738,-1.3891 -2.26205,-2.55145 -2.38672,-3.77344 -0.12591,-1.23411 0.24428,-2.66937 1.58203,-4.56055 1.37458,-1.85462 3.60235,-3.84584 6.74609,-5.83398 3.20097,-2.02436 6.27281,-3.3982 9.21094,-4.17383 1.52545,-0.3894 2.96138,-0.62632 4.3125,-0.7168 z" /></g></g></svg>
|
||||
--
|
||||
2.46.2
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 15df1086028087e5a81830323137a8730d2c5888 Mon Sep 17 00:00:00 2001
|
||||
From 29f77afc6d76cadf3f0cac7b0e741049af21e86d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 14 Mar 2017 17:04:36 +0100
|
||||
Subject: [PATCH] windowMenu: Bring back workspaces submenu for static
|
||||
@ -13,10 +13,10 @@ are used.
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/js/ui/windowMenu.js b/js/ui/windowMenu.js
|
||||
index c69c183d7c..2db3962012 100644
|
||||
index c140dee4dd..6e28244723 100644
|
||||
--- a/js/ui/windowMenu.js
|
||||
+++ b/js/ui/windowMenu.js
|
||||
@@ -153,6 +153,23 @@ export class WindowMenu extends PopupMenu.PopupMenu {
|
||||
@@ -138,6 +138,23 @@ export class WindowMenu extends PopupMenu.PopupMenu {
|
||||
window.change_workspace(workspace.get_neighbor(dir));
|
||||
});
|
||||
}
|
||||
@ -41,5 +41,5 @@ index c69c183d7c..2db3962012 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.45.2
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
From 100b2139c689e8e9ef8095cdd7da8eb016a3f53f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 13 Nov 2025 12:57:58 +0100
|
||||
Subject: [PATCH 2/2] Reapply "main: Notify gnome-session when we're ready"
|
||||
|
||||
This reverts commit d697bdceaefeae49ad0e03df7352884899c3e14a.
|
||||
---
|
||||
js/ui/main.js | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/js/ui/main.js b/js/ui/main.js
|
||||
index bb6d8f6723..7e1b84d694 100644
|
||||
--- a/js/ui/main.js
|
||||
+++ b/js/ui/main.js
|
||||
@@ -330,6 +330,7 @@ async function _initializeUI() {
|
||||
GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
|
||||
Shell.util_sd_notify();
|
||||
global.context.notify_ready();
|
||||
+ _notifyGnomeSessionReady();
|
||||
return GLib.SOURCE_REMOVE;
|
||||
});
|
||||
|
||||
@@ -394,6 +395,20 @@ async function _initializeUI() {
|
||||
});
|
||||
}
|
||||
|
||||
+async function _notifyGnomeSessionReady() {
|
||||
+ try {
|
||||
+ let params = GLib.Variant.new('(ss)', ['org.gnome.Shell.desktop', '']);
|
||||
+ await Gio.DBus.session.call(
|
||||
+ 'org.gnome.SessionManager',
|
||||
+ '/org/gnome/SessionManager',
|
||||
+ 'org.gnome.SessionManager',
|
||||
+ 'RegisterClient', params, null,
|
||||
+ Gio.DBusCallFlags.NONE, -1, null);
|
||||
+ } catch (e) {
|
||||
+ log(`Error notifying gnome-session that we're ready: ${e.message}`);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
function _handleShowWelcomeScreen() {
|
||||
const lastShownVersion = global.settings.get_string(WELCOME_DIALOG_LAST_SHOWN_VERSION);
|
||||
if (Util.GNOMEversionCompare(WELCOME_DIALOG_LAST_TOUR_CHANGE, lastShownVersion) > 0) {
|
||||
--
|
||||
2.51.1
|
||||
|
||||
57
3939-rediffed.patch
Normal file
57
3939-rediffed.patch
Normal file
@ -0,0 +1,57 @@
|
||||
From a3d658851992b27ad2e0d8f9efeb680b4085d27f Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Keller <skeller@gnome.org>
|
||||
Date: Tue, 28 Oct 2025 23:22:26 +0100
|
||||
Subject: [PATCH 1/1] Revert "status/keyboard: Track
|
||||
::layout-layout-group-changed for changes"
|
||||
|
||||
This reverts commit e8d73262c73246205e8f7887d99aeb2356cfa89e.
|
||||
|
||||
The commit was causing freezes when changing layouts in some situations
|
||||
and not all of these were adressed by f643915b, such as when switching
|
||||
from the 3rd to the 4th layout using a xkb shortcut in the X11 session
|
||||
with 4 layouts.
|
||||
|
||||
It was also breaking the order of switching layouts using modifier-only
|
||||
xkb shortcuts to switch to the next group, which it caused to advance
|
||||
multiple groups because of the shortcut being handled via both
|
||||
_modifiersSwitcher() and _layoutGroupChanged().
|
||||
|
||||
Further it was possible for _layoutGroupChanged() to trigger an error
|
||||
due to the locale layout added by _buildGroupStrings() at the end of the
|
||||
xkb layout list being accessible via the xkb shortcuts. That layout was
|
||||
not present in _inputSources, leading to "is" being undefined.
|
||||
|
||||
Reopens: https://gitlab.gnome.org/GNOME/mutter/-/issues/3926
|
||||
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8738
|
||||
Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3930
|
||||
---
|
||||
js/ui/status/keyboard.js | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
|
||||
index 88e6e93975..2f6773c8c0 100644
|
||||
--- a/js/ui/status/keyboard.js
|
||||
+++ b/js/ui/status/keyboard.js
|
||||
@@ -380,7 +380,6 @@ export class InputSourceManager extends Signals.EventEmitter {
|
||||
this._ibusManager.connect('set-content-type', this._ibusSetContentType.bind(this));
|
||||
|
||||
global.display.connect('modifiers-accelerator-activated', this._modifiersSwitcher.bind(this));
|
||||
- global.backend.connect('keymap-layout-group-changed', this._layoutGroupChanged.bind(this));
|
||||
|
||||
this._sourcesPerWindow = false;
|
||||
this._focusWindowNotifyId = 0;
|
||||
@@ -429,12 +428,6 @@ export class InputSourceManager extends Signals.EventEmitter {
|
||||
return true;
|
||||
}
|
||||
|
||||
- _layoutGroupChanged(backend, idx) {
|
||||
- const is = this._inputSources[idx];
|
||||
- this._currentInputSourceChanged(is);
|
||||
- this._keyboardManager.apply(is.xkbId);
|
||||
- }
|
||||
-
|
||||
_switchInputSource(display, window, event, binding) {
|
||||
if (this._mruSources.length < 2)
|
||||
return;
|
||||
--
|
||||
GitLab
|
||||
@ -1,4 +1,4 @@
|
||||
From 7a4f4400b2f10a813cf28bb7518c370482935c1f Mon Sep 17 00:00:00 2001
|
||||
From 2af9a2832992b7b89465b47cf9adb979b8d6b087 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
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 d264717238..c7354e2664 100644
|
||||
index 800e2f1851..7ee8186dcc 100644
|
||||
--- a/js/gdm/authPrompt.js
|
||||
+++ b/js/gdm/authPrompt.js
|
||||
@@ -215,7 +215,7 @@ export const AuthPrompt = GObject.registerClass({
|
||||
@@ -217,7 +217,7 @@ export const AuthPrompt = GObject.registerClass({
|
||||
|
||||
[this._textEntry, this._passwordEntry].forEach(entry => {
|
||||
entry.clutter_text.connect('text-changed', () => {
|
||||
@ -25,10 +25,10 @@ index d264717238..c7354e2664 100644
|
||||
});
|
||||
|
||||
--
|
||||
2.51.0
|
||||
2.51.1
|
||||
|
||||
|
||||
From 5b72139b23b5884aa118e7bc9510bc994a057a6e Mon Sep 17 00:00:00 2001
|
||||
From 691685e9582e23cce382841c1d66c44ea56ceb33 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
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 c7354e2664..92ad4eff30 100644
|
||||
index 7ee8186dcc..97b276dbf9 100644
|
||||
--- a/js/gdm/authPrompt.js
|
||||
+++ b/js/gdm/authPrompt.js
|
||||
@@ -279,13 +279,14 @@ export const AuthPrompt = GObject.registerClass({
|
||||
@@ -281,13 +281,14 @@ export const AuthPrompt = GObject.registerClass({
|
||||
this.verificationStatus = AuthPromptStatus.VERIFICATION_IN_PROGRESS;
|
||||
this.updateSensitivity(false);
|
||||
|
||||
@ -61,10 +61,10 @@ index c7354e2664..92ad4eff30 100644
|
||||
this.emit('next');
|
||||
}
|
||||
--
|
||||
2.51.0
|
||||
2.51.1
|
||||
|
||||
|
||||
From b5509ccdda2da8e43716f8810a27153a96fd5c7d Mon Sep 17 00:00:00 2001
|
||||
From 60c374af34ec60a3aa0403888d70a835774209af Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
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 92ad4eff30..0fbfb6800e 100644
|
||||
index 97b276dbf9..2bf722b140 100644
|
||||
--- a/js/gdm/authPrompt.js
|
||||
+++ b/js/gdm/authPrompt.js
|
||||
@@ -69,6 +69,8 @@ export const AuthPrompt = GObject.registerClass({
|
||||
@ -109,7 +109,7 @@ index 92ad4eff30..0fbfb6800e 100644
|
||||
this._userVerifier.destroy();
|
||||
this._userVerifier = null;
|
||||
this._entry = null;
|
||||
@@ -286,6 +294,11 @@ export const AuthPrompt = GObject.registerClass({
|
||||
@@ -288,6 +296,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 92ad4eff30..0fbfb6800e 100644
|
||||
}
|
||||
|
||||
this.emit('next');
|
||||
@@ -508,6 +521,11 @@ export const AuthPrompt = GObject.registerClass({
|
||||
@@ -510,6 +523,11 @@ export const AuthPrompt = GObject.registerClass({
|
||||
}
|
||||
|
||||
setQuestion(question) {
|
||||
@ -133,7 +133,7 @@ index 92ad4eff30..0fbfb6800e 100644
|
||||
this._entry.hint_text = question;
|
||||
|
||||
this._authList.hide();
|
||||
@@ -630,6 +648,19 @@ export const AuthPrompt = GObject.registerClass({
|
||||
@@ -639,6 +657,19 @@ export const AuthPrompt = GObject.registerClass({
|
||||
this._updateEntry(false);
|
||||
}
|
||||
|
||||
@ -153,7 +153,7 @@ index 92ad4eff30..0fbfb6800e 100644
|
||||
reset() {
|
||||
let oldStatus = this.verificationStatus;
|
||||
this.verificationStatus = AuthPromptStatus.NOT_VERIFYING;
|
||||
@@ -637,6 +668,11 @@ export const AuthPrompt = GObject.registerClass({
|
||||
@@ -646,6 +677,11 @@ export const AuthPrompt = GObject.registerClass({
|
||||
this.cancelButton.can_focus = this._hasCancelButton;
|
||||
this._preemptiveAnswer = null;
|
||||
|
||||
@ -166,5 +166,5 @@ index 92ad4eff30..0fbfb6800e 100644
|
||||
this._userVerifier.cancel();
|
||||
|
||||
--
|
||||
2.51.0
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 2ee01f8104aeca3ae5f404e83159670a0792db26 Mon Sep 17 00:00:00 2001
|
||||
From 54a9bed1caa83ee00ca95f3431a3ee2a15a1ee82 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Mon, 28 Sep 2015 10:57:02 -0400
|
||||
Subject: [PATCH 1/3] smartcardManager: add way to detect if user logged using
|
||||
@ -32,10 +32,10 @@ index b886110d91..51471e51d4 100644
|
||||
+ }
|
||||
}
|
||||
--
|
||||
2.51.0
|
||||
2.51.1
|
||||
|
||||
|
||||
From 368cc7d44849824933c3b9ddf7fd363bbb13c03e Mon Sep 17 00:00:00 2001
|
||||
From bdbed658d7a2fa48b9e7195691f0db3c8f4868e3 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Mon, 28 Sep 2015 19:56:53 -0400
|
||||
Subject: [PATCH 2/3] gdm: only unlock with smartcard, if smartcard used for
|
||||
@ -48,10 +48,10 @@ gets used for unlock, too.
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/gdm/util.js b/js/gdm/util.js
|
||||
index 395bce5e67..668cf51979 100644
|
||||
index aced46e78c..28190660e8 100644
|
||||
--- a/js/gdm/util.js
|
||||
+++ b/js/gdm/util.js
|
||||
@@ -463,6 +463,8 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
@@ -465,6 +465,8 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
this.smartcardDetected = false;
|
||||
this._checkForSmartcard();
|
||||
|
||||
@ -60,7 +60,7 @@ index 395bce5e67..668cf51979 100644
|
||||
this._smartcardManager.connectObject(
|
||||
'smartcard-inserted', () => this._checkForSmartcard(),
|
||||
'smartcard-removed', () => this._checkForSmartcard(), this);
|
||||
@@ -641,7 +643,9 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
@@ -643,7 +645,9 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
}
|
||||
|
||||
_getDetectedDefaultService() {
|
||||
@ -72,10 +72,10 @@ index 395bce5e67..668cf51979 100644
|
||||
else if (this._smartcardManager)
|
||||
return SMARTCARD_SERVICE_NAME;
|
||||
--
|
||||
2.51.0
|
||||
2.51.1
|
||||
|
||||
|
||||
From 5745d60258729b67c972488e7a889ca356b1902e Mon Sep 17 00:00:00 2001
|
||||
From 2cae726f8e9887c5f49254f9af39bada00e81ca7 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Mon, 28 Sep 2015 19:57:36 -0400
|
||||
Subject: [PATCH 3/3] gdm: update default service when smartcard inserted
|
||||
@ -88,10 +88,10 @@ after we get a smartcard insertion event.
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/js/gdm/util.js b/js/gdm/util.js
|
||||
index 668cf51979..97f1bfccb2 100644
|
||||
index 28190660e8..c87690f859 100644
|
||||
--- a/js/gdm/util.js
|
||||
+++ b/js/gdm/util.js
|
||||
@@ -488,6 +488,8 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
@@ -490,6 +490,8 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
else if (this._preemptingService === SMARTCARD_SERVICE_NAME)
|
||||
this._preemptingService = null;
|
||||
|
||||
@ -101,5 +101,5 @@ index 668cf51979..97f1bfccb2 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.51.0
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 04bf0729ed6ae75736e297a10603bcb0a564cb28 Mon Sep 17 00:00:00 2001
|
||||
From cbb32cb80221d04121d4942bf41a23dd44ada9a9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 9 Jun 2020 19:42:21 +0200
|
||||
Subject: [PATCH 1/2] popupMenu: Guard against non-menu-item children
|
||||
@ -9,10 +9,10 @@ This avoid a harmless but annoying warning.
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
|
||||
index b6ad545087..cbbcfea1ff 100644
|
||||
index 0426ce5452..2c882c1067 100644
|
||||
--- a/js/ui/popupMenu.js
|
||||
+++ b/js/ui/popupMenu.js
|
||||
@@ -951,7 +951,8 @@ export class PopupMenuBase extends Signals.EventEmitter {
|
||||
@@ -967,7 +967,8 @@ export class PopupMenuBase extends Signals.EventEmitter {
|
||||
}
|
||||
|
||||
_getMenuItems() {
|
||||
@ -23,10 +23,10 @@ index b6ad545087..cbbcfea1ff 100644
|
||||
});
|
||||
}
|
||||
--
|
||||
2.45.2
|
||||
2.51.1
|
||||
|
||||
|
||||
From cffe984d9b85494fcf34500e78875b66c1cec534 Mon Sep 17 00:00:00 2001
|
||||
From 406c67ea0877384d85e5dcb5be644acf491cbd4d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 9 Jun 2020 19:48:06 +0200
|
||||
Subject: [PATCH 2/2] st/shadow: Check pipeline when painting
|
||||
@ -38,10 +38,10 @@ called before paint() or that the pipeline was created successfully.
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/st/st-shadow.c b/src/st/st-shadow.c
|
||||
index a406b61532..574445aeac 100644
|
||||
index 0e7908ac1d..280562b5b7 100644
|
||||
--- a/src/st/st-shadow.c
|
||||
+++ b/src/st/st-shadow.c
|
||||
@@ -294,9 +294,10 @@ st_shadow_helper_paint (StShadowHelper *helper,
|
||||
@@ -288,9 +288,10 @@ st_shadow_helper_paint (StShadowHelper *helper,
|
||||
ClutterActorBox *actor_box,
|
||||
uint8_t paint_opacity)
|
||||
{
|
||||
@ -58,5 +58,5 @@ index a406b61532..574445aeac 100644
|
||||
+ paint_opacity);
|
||||
}
|
||||
--
|
||||
2.45.2
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,232 +0,0 @@
|
||||
From f328eee88c4e700a29625e87fd6fc997a138c66b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 22 Nov 2024 19:23:59 +0100
|
||||
Subject: [PATCH 1/3] loginDialog: Split out getBannerText() helper
|
||||
|
||||
The new methods will make it easier to add alternative sources
|
||||
for the banner text.
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3558>
|
||||
---
|
||||
js/gdm/loginDialog.js | 13 ++++++++++---
|
||||
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
|
||||
index 27baae83ad..c3c397c0d1 100644
|
||||
--- a/js/gdm/loginDialog.js
|
||||
+++ b/js/gdm/loginDialog.js
|
||||
@@ -873,11 +873,18 @@ export const LoginDialog = GObject.registerClass({
|
||||
this._authPrompt.cancelButton.visible = cancelVisible;
|
||||
}
|
||||
|
||||
+ _getBannerText() {
|
||||
+ const enabled = this._settings.get_boolean(GdmUtil.BANNER_MESSAGE_KEY);
|
||||
+ if (!enabled)
|
||||
+ return null;
|
||||
+
|
||||
+ return this._settings.get_string(GdmUtil.BANNER_MESSAGE_TEXT_KEY);
|
||||
+ }
|
||||
+
|
||||
_updateBanner() {
|
||||
- let enabled = this._settings.get_boolean(GdmUtil.BANNER_MESSAGE_KEY);
|
||||
- let text = this._settings.get_string(GdmUtil.BANNER_MESSAGE_TEXT_KEY);
|
||||
+ const text = this._getBannerText();
|
||||
|
||||
- if (enabled && text) {
|
||||
+ if (text) {
|
||||
this._bannerLabel.set_text(text);
|
||||
this._bannerLabel.show();
|
||||
} else {
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 5f92c12c727bd447d7e539b1e6c8f3ac6ddf715a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 22 Nov 2024 19:36:42 +0100
|
||||
Subject: [PATCH 2/3] loginDialog: Update banner asynchronously
|
||||
|
||||
We will soon allow reading the banner text from a file. Prepare
|
||||
for that by making the method asynchronous.
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3558>
|
||||
---
|
||||
js/gdm/loginDialog.js | 15 +++++++++------
|
||||
1 file changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
|
||||
index c3c397c0d1..125cf299fa 100644
|
||||
--- a/js/gdm/loginDialog.js
|
||||
+++ b/js/gdm/loginDialog.js
|
||||
@@ -505,9 +505,9 @@ export const LoginDialog = GObject.registerClass({
|
||||
this._settings = new Gio.Settings({schema_id: GdmUtil.LOGIN_SCREEN_SCHEMA});
|
||||
|
||||
this._settings.connect(`changed::${GdmUtil.BANNER_MESSAGE_KEY}`,
|
||||
- this._updateBanner.bind(this));
|
||||
+ () => this._updateBanner().catch(logError));
|
||||
this._settings.connect(`changed::${GdmUtil.BANNER_MESSAGE_TEXT_KEY}`,
|
||||
- this._updateBanner.bind(this));
|
||||
+ () => this._updateBanner().catch(logError));
|
||||
this._settings.connect(`changed::${GdmUtil.DISABLE_USER_LIST_KEY}`,
|
||||
this._updateDisableUserList.bind(this));
|
||||
this._settings.connect(`changed::${GdmUtil.LOGO_KEY}`,
|
||||
@@ -576,7 +576,7 @@ export const LoginDialog = GObject.registerClass({
|
||||
this._bannerLabel.clutter_text.line_wrap = true;
|
||||
this._bannerLabel.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
bannerBox.add_child(this._bannerLabel);
|
||||
- this._updateBanner();
|
||||
+ this._updateBanner().catch(logError);
|
||||
|
||||
this._sessionMenuButton = new SessionMenuButton();
|
||||
this._sessionMenuButton.connect('session-activated',
|
||||
@@ -873,16 +873,19 @@ export const LoginDialog = GObject.registerClass({
|
||||
this._authPrompt.cancelButton.visible = cancelVisible;
|
||||
}
|
||||
|
||||
- _getBannerText() {
|
||||
+ async _getBannerText() {
|
||||
const enabled = this._settings.get_boolean(GdmUtil.BANNER_MESSAGE_KEY);
|
||||
if (!enabled)
|
||||
return null;
|
||||
|
||||
+ // placeholder
|
||||
+ await false;
|
||||
+
|
||||
return this._settings.get_string(GdmUtil.BANNER_MESSAGE_TEXT_KEY);
|
||||
}
|
||||
|
||||
- _updateBanner() {
|
||||
- const text = this._getBannerText();
|
||||
+ async _updateBanner() {
|
||||
+ const text = await this._getBannerText();
|
||||
|
||||
if (text) {
|
||||
this._bannerLabel.set_text(text);
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From a73a4f8455b1374b38724a532137a9b614a7fb19 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 22 Nov 2024 19:17:44 +0100
|
||||
Subject: [PATCH 3/3] loginDialog: Support loading banner message from file
|
||||
|
||||
Support the new `banner-message-path` and `banner-message-source`
|
||||
settings, which allows loading the banner message from a path
|
||||
instead of GSettings. This is mainly useful for `/etc/motd` and
|
||||
similar mechanisms, to show the same message for both graphical
|
||||
and non-graphical logins.
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3558>
|
||||
---
|
||||
js/gdm/loginDialog.js | 53 +++++++++++++++++++++++++++++++++++++++++--
|
||||
js/gdm/util.js | 2 ++
|
||||
2 files changed, 53 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
|
||||
index 125cf299fa..fa91615026 100644
|
||||
--- a/js/gdm/loginDialog.js
|
||||
+++ b/js/gdm/loginDialog.js
|
||||
@@ -46,6 +46,8 @@ const _SCROLL_ANIMATION_TIME = 500;
|
||||
const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
|
||||
const _CONFLICTING_SESSION_DIALOG_TIMEOUT = 60;
|
||||
|
||||
+Gio._promisify(Gio.File.prototype, 'load_contents_async');
|
||||
+
|
||||
export const UserListItem = GObject.registerClass({
|
||||
Signals: {'activate': {}},
|
||||
}, class UserListItem extends St.Button {
|
||||
@@ -508,6 +510,16 @@ export const LoginDialog = GObject.registerClass({
|
||||
() => this._updateBanner().catch(logError));
|
||||
this._settings.connect(`changed::${GdmUtil.BANNER_MESSAGE_TEXT_KEY}`,
|
||||
() => this._updateBanner().catch(logError));
|
||||
+ this._settings.connect(`changed::${GdmUtil.BANNER_MESSAGE_SOURCE_KEY}`,
|
||||
+ () => {
|
||||
+ if (this._updateBannerMessageFile())
|
||||
+ this._updateBanner().catch(logError);
|
||||
+ });
|
||||
+ this._settings.connect(`changed::${GdmUtil.BANNER_MESSAGE_PATH_KEY}`,
|
||||
+ () => {
|
||||
+ if (this._updateBannerMessageFile())
|
||||
+ this._updateBanner().catch(logError);
|
||||
+ });
|
||||
this._settings.connect(`changed::${GdmUtil.DISABLE_USER_LIST_KEY}`,
|
||||
this._updateDisableUserList.bind(this));
|
||||
this._settings.connect(`changed::${GdmUtil.LOGO_KEY}`,
|
||||
@@ -576,6 +588,8 @@ export const LoginDialog = GObject.registerClass({
|
||||
this._bannerLabel.clutter_text.line_wrap = true;
|
||||
this._bannerLabel.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
bannerBox.add_child(this._bannerLabel);
|
||||
+
|
||||
+ this._updateBannerMessageFile();
|
||||
this._updateBanner().catch(logError);
|
||||
|
||||
this._sessionMenuButton = new SessionMenuButton();
|
||||
@@ -873,13 +887,48 @@ export const LoginDialog = GObject.registerClass({
|
||||
this._authPrompt.cancelButton.visible = cancelVisible;
|
||||
}
|
||||
|
||||
+ _updateBannerMessageFile() {
|
||||
+ const path = this._settings.get_string(GdmUtil.BANNER_MESSAGE_SOURCE_KEY) === 'file'
|
||||
+ ? this._settings.get_string(GdmUtil.BANNER_MESSAGE_PATH_KEY)
|
||||
+ : null;
|
||||
+ const file = path
|
||||
+ ? Gio.File.new_for_path(path)
|
||||
+ : null;
|
||||
+
|
||||
+ if (!file && !this._bannerMessageFile)
|
||||
+ return false;
|
||||
+
|
||||
+ if (file && this._bannerMessageFile && this._bannerMessageFile.equal(file))
|
||||
+ return false;
|
||||
+
|
||||
+ this._bannerMessageMonitor?.disconnectObject(this);
|
||||
+ this._bannerMessageMonitor = null;
|
||||
+
|
||||
+ this._bannerMessageFile = file;
|
||||
+
|
||||
+ if (file) {
|
||||
+ this._bannerMessageMonitor = file.monitor_file(Gio.FileMonitorFlags.NONE, null);
|
||||
+ this._bannerMessageMonitor.connectObject(
|
||||
+ 'changed', () => this._updateBanner().catch(logError), this);
|
||||
+ }
|
||||
+
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
async _getBannerText() {
|
||||
const enabled = this._settings.get_boolean(GdmUtil.BANNER_MESSAGE_KEY);
|
||||
if (!enabled)
|
||||
return null;
|
||||
|
||||
- // placeholder
|
||||
- await false;
|
||||
+ if (this._bannerMessageFile) {
|
||||
+ try {
|
||||
+ const [contents] = await this._bannerMessageFile.load_contents_async(null);
|
||||
+ return new TextDecoder().decode(contents);
|
||||
+ } catch (e) {
|
||||
+ console.error(`Failed to read banner from ${this._bannerMessageFile.get_path()}: ${e.message}`);
|
||||
+ return null;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
return this._settings.get_string(GdmUtil.BANNER_MESSAGE_TEXT_KEY);
|
||||
}
|
||||
diff --git a/js/gdm/util.js b/js/gdm/util.js
|
||||
index 1e0154f36f..f6b797c321 100644
|
||||
--- a/js/gdm/util.js
|
||||
+++ b/js/gdm/util.js
|
||||
@@ -33,7 +33,9 @@ export const PASSWORD_AUTHENTICATION_KEY = 'enable-password-authentication';
|
||||
export const FINGERPRINT_AUTHENTICATION_KEY = 'enable-fingerprint-authentication';
|
||||
export const SMARTCARD_AUTHENTICATION_KEY = 'enable-smartcard-authentication';
|
||||
export const BANNER_MESSAGE_KEY = 'banner-message-enable';
|
||||
+export const BANNER_MESSAGE_SOURCE_KEY = 'banner-message-source';
|
||||
export const BANNER_MESSAGE_TEXT_KEY = 'banner-message-text';
|
||||
+export const BANNER_MESSAGE_PATH_KEY = 'banner-message-path';
|
||||
export const ALLOWED_FAILURES_KEY = 'allowed-failures';
|
||||
|
||||
export const LOGO_KEY = 'logo';
|
||||
--
|
||||
2.48.1
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 8fcaf1708fee86b1c16c9749dc1794be5a2a86fd Mon Sep 17 00:00:00 2001
|
||||
From f8340bf01c7520af83a3098e7c574c67facbde1e Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Mon, 28 Feb 2022 10:27:09 -0500
|
||||
Subject: [PATCH] data: Enable logo extension out of the box
|
||||
@ -12,7 +12,7 @@ This commit makes sure it gets enabled out of the box.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in
|
||||
index 3dd9d2d86b..fe1e266f8c 100644
|
||||
index 9a55ee71db..1f9862a779 100644
|
||||
--- a/data/org.gnome.shell.gschema.xml.in
|
||||
+++ b/data/org.gnome.shell.gschema.xml.in
|
||||
@@ -12,7 +12,7 @@
|
||||
@ -25,5 +25,5 @@ index 3dd9d2d86b..fe1e266f8c 100644
|
||||
<description>
|
||||
GNOME Shell extensions have a UUID property; this key lists extensions
|
||||
--
|
||||
2.45.2
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,35 +1,22 @@
|
||||
From 8a6298a1e7f7d46abf86ddec8ca2c8edbe4a589f Mon Sep 17 00:00:00 2001
|
||||
From 723135b8a757c02e7f598a0a95f99287dda805cb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 17 Sep 2014 07:11:12 +0200
|
||||
Subject: [PATCH] Replace Web with Firefox in default favorites
|
||||
|
||||
---
|
||||
data/default-apps/dash.txt | 2 +-
|
||||
js/ui/appFavorites.js | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/default-apps/dash.txt b/data/default-apps/dash.txt
|
||||
index d0c2c21eb8..a926311701 100644
|
||||
index 3687574be8..cdd8ef04e3 100644
|
||||
--- a/data/default-apps/dash.txt
|
||||
+++ b/data/default-apps/dash.txt
|
||||
@@ -1,4 +1,4 @@
|
||||
-org.gnome.Epiphany.desktop
|
||||
+firefox.desktop
|
||||
org.gnome.Calendar.desktop
|
||||
org.gnome.Music.desktop
|
||||
gnome.Nautilus.desktop
|
||||
diff --git a/js/ui/appFavorites.js b/js/ui/appFavorites.js
|
||||
index e3a76dce96..b6525f3cc9 100644
|
||||
--- a/js/ui/appFavorites.js
|
||||
+++ b/js/ui/appFavorites.js
|
||||
@@ -48,6 +48,7 @@ const RENAMED_DESKTOP_IDS = {
|
||||
'gnotski.desktop': 'org.gnome.Klotski.desktop',
|
||||
'gtali.desktop': 'org.gnome.Tali.desktop',
|
||||
'iagno.desktop': 'org.gnome.Reversi.desktop',
|
||||
+ 'firefox.desktop': 'firefox.desktop',
|
||||
'nautilus.desktop': 'org.gnome.Nautilus.desktop',
|
||||
'org.gnome.gnome-2048.desktop': 'org.gnome.TwentyFortyEight.desktop',
|
||||
'org.gnome.taquin.desktop': 'org.gnome.Taquin.desktop',
|
||||
org.gnome.Nautilus.desktop
|
||||
org.gnome.Software.desktop
|
||||
--
|
||||
2.48.1
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From c20b996f0cf89d4620d01fa777787b80b15c8a37 Mon Sep 17 00:00:00 2001
|
||||
From 578b2f5c52ab55ae1839f9d055c56762f13e01cf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 9 Mar 2017 14:44:32 +0100
|
||||
Subject: [PATCH] appFavorites: Add terminal
|
||||
@ -8,16 +8,16 @@ Subject: [PATCH] appFavorites: Add terminal
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/data/default-apps/dash.txt b/data/default-apps/dash.txt
|
||||
index a926311701..5178256f6a 100644
|
||||
index cdd8ef04e3..4ab3f2913f 100644
|
||||
--- a/data/default-apps/dash.txt
|
||||
+++ b/data/default-apps/dash.txt
|
||||
@@ -3,5 +3,6 @@ org.gnome.Calendar.desktop
|
||||
org.gnome.Music.desktop
|
||||
gnome.Nautilus.desktop
|
||||
@@ -2,5 +2,6 @@ firefox.desktop
|
||||
org.gnome.Calendar.desktop
|
||||
org.gnome.Nautilus.desktop
|
||||
org.gnome.Software.desktop
|
||||
+org.gnome.Ptyxis.desktop
|
||||
org.gnome.TextEditor.desktop
|
||||
org.gnome.Calculator.desktop
|
||||
--
|
||||
2.48.1
|
||||
2.51.1
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
%endif
|
||||
|
||||
Name: gnome-shell
|
||||
Version: 47.10
|
||||
Version: 49.1
|
||||
Release: %autorelease
|
||||
Summary: Window management and application launching for GNOME
|
||||
|
||||
@ -18,21 +18,38 @@ Source0: https://download.gnome.org/sources/gnome-shell/%{major_version}/
|
||||
|
||||
# Replace Epiphany with Firefox in the default favourite apps list, etc
|
||||
# and enable background extension by default
|
||||
Patch: tweak-app-defaults.patch
|
||||
Patch: gnome-shell-favourite-apps-firefox.patch
|
||||
Patch: gnome-shell-favourite-apps-terminal.patch
|
||||
Patch: gnome-shell-enabled-extensions-background-logos.patch
|
||||
|
||||
# girpository-2.0 port would require updates to both gjs and glib2,
|
||||
# so revert it
|
||||
Patch: revert-gir-2.0-port.patch
|
||||
|
||||
# Required schemas have been backported
|
||||
Patch: 0001-build-Lower-gsettings-desktop-schemas-requirement.patch
|
||||
|
||||
# Revert gnome-session related changes
|
||||
Patch: 0001-Revert-data-Drop-org.gnome.Shell.desktop.patch
|
||||
Patch: 0002-Reapply-main-Notify-gnome-session-when-we-re-ready.patch
|
||||
|
||||
# Some users might have a broken PAM config, so we really need this
|
||||
# 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/3939
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8738#note_2589102
|
||||
# https://discussion.fedoraproject.org/t/169999
|
||||
# Reverts some xkb changes that turned out to cause way more problems
|
||||
# than they solved
|
||||
# Rediffed on 49.1 - we include only the first revert, as the second
|
||||
# commit was post-49.1 so there's nothing to revert
|
||||
Patch: 3939-rediffed.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: gdm-support-banner-message-file.patch
|
||||
Patch: 0001-systemActions-Optionally-allow-restart-shutdown-on-l.patch
|
||||
|
||||
# Extensions
|
||||
Patch: 0001-extensionDownloader-Refuse-to-override-system-extens.patch
|
||||
@ -62,16 +79,16 @@ Patch: 0001-panel-Bring-the-upstream-workspace-dots-back.patch
|
||||
%define gjs_version 1.73.1
|
||||
%define gtk4_version 4.0.0
|
||||
%define adwaita_version 1.5.0
|
||||
%define mutter_version 47.0
|
||||
%define mutter_version 49.0
|
||||
%define polkit_version 0.100
|
||||
%define gsettings_desktop_schemas_version 47~alpha
|
||||
%define ibus_version 1.5.2
|
||||
%define gnome_bluetooth_version 1:42.3
|
||||
%define gstreamer_version 1.4.5
|
||||
%define pipewire_version 0.3.0
|
||||
%define pipewire_version 0.3.49
|
||||
%define gnome_settings_daemon_version 3.37.1
|
||||
|
||||
BuildRequires: bash-completion
|
||||
BuildRequires: pkgconfig(bash-completion)
|
||||
BuildRequires: gcc
|
||||
BuildRequires: meson
|
||||
BuildRequires: git
|
||||
@ -109,7 +126,6 @@ BuildRequires: pkgconfig(libpulse)
|
||||
BuildRequires: gnome-bluetooth-libs-devel >= %{gnome_bluetooth_version}
|
||||
%endif
|
||||
# Bootstrap requirements
|
||||
BuildRequires: gtk-doc
|
||||
%ifnarch s390 s390x
|
||||
Recommends: gnome-bluetooth%{?_isa} >= %{gnome_bluetooth_version}
|
||||
%endif
|
||||
@ -140,7 +156,9 @@ Requires: xdg-user-dirs-gtk
|
||||
# needed for schemas
|
||||
Requires: at-spi2-atk%{?_isa}
|
||||
# needed for on-screen keyboard
|
||||
Requires: ibus%{?_isa} >= %{ibus_version}
|
||||
Recommends: ibus%{?_isa} >= %{ibus_version}
|
||||
# needed for gobject-introspection typelib
|
||||
Requires: ibus-libs%{?_isa} >= %{ibus_version}
|
||||
# needed for "show keyboard layout"
|
||||
Requires: tecla
|
||||
# needed for the user menu
|
||||
@ -177,6 +195,7 @@ Requires: webkitgtk6.0%{?_isa}
|
||||
ExcludeArch: %{ix86}
|
||||
%endif
|
||||
|
||||
Provides: gnome-shell(api) = %{major_version}
|
||||
Provides: desktop-notification-daemon = %{version}-%{release}
|
||||
Provides: PolicyKit-authentication-agent = %{version}-%{release}
|
||||
Provides: bundled(gvc)
|
||||
@ -259,13 +278,17 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Porta
|
||||
%{_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.Screencast.service
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Brightness.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.Screencast.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.ScreenTime.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
|
||||
%{_datadir}/desktop-directories/X-GNOME-Shell-System.directory
|
||||
%{_datadir}/desktop-directories/X-GNOME-Shell-Utilities.directory
|
||||
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
|
||||
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg
|
||||
%{_userunitdir}/org.gnome.Shell-disable-extensions.service
|
||||
|
||||
199
revert-gir-2.0-port.patch
Normal file
199
revert-gir-2.0-port.patch
Normal file
@ -0,0 +1,199 @@
|
||||
From 445bf69e9aafa8ad76e0b4bc70cd56359f717776 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 6 Nov 2025 15:20:15 +0100
|
||||
Subject: [PATCH 1/3] Revert "build: Depend on GLib 2.86.0"
|
||||
|
||||
This reverts commit 02d9487c1992972a344cac5866f0aedd357827ee.
|
||||
---
|
||||
meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 0cc6cceb94..ff5fc88734 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -21,7 +21,7 @@ libmutter_test_pc = 'libmutter-test-' + mutter_api_version
|
||||
ecal_req = '>= 3.33.1'
|
||||
eds_req = '>= 3.33.1'
|
||||
gcr_req = '>= 3.90.0'
|
||||
-gio_req = '>= 2.86.0'
|
||||
+gio_req = '>= 2.85.1'
|
||||
gjs_req = '>= 1.85.90'
|
||||
gtk_req = '>= 4.0'
|
||||
mutter_req = '>= 49.0'
|
||||
--
|
||||
2.51.1
|
||||
|
||||
|
||||
From f4a4ce8a0608d8fb8c39cf7b81c828a22e305e63 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 6 Nov 2025 15:21:29 +0100
|
||||
Subject: [PATCH 2/3] Revert "build: Depend on gjs 1.85.90"
|
||||
|
||||
This reverts commit 08563fae7cd392527b0712c583750add21ac97d7.
|
||||
---
|
||||
meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index ff5fc88734..5bc23778ef 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -22,7 +22,7 @@ ecal_req = '>= 3.33.1'
|
||||
eds_req = '>= 3.33.1'
|
||||
gcr_req = '>= 3.90.0'
|
||||
gio_req = '>= 2.85.1'
|
||||
-gjs_req = '>= 1.85.90'
|
||||
+gjs_req = '>= 1.85.1'
|
||||
gtk_req = '>= 4.0'
|
||||
mutter_req = '>= 49.0'
|
||||
polkit_req = '>= 0.100'
|
||||
--
|
||||
2.51.1
|
||||
|
||||
|
||||
From 6f94c04657a9013dd9ca2e5366e6118d8cb96b20 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 6 Nov 2025 15:27:19 +0100
|
||||
Subject: [PATCH 3/3] Revert "Port to gjs-1.85/girepository-2.0"
|
||||
|
||||
This reverts commit c8e28918aa96c53333ea7019eb24642b7878b548.
|
||||
---
|
||||
meson.build | 7 ++++---
|
||||
src/main.c | 23 ++++++++++-------------
|
||||
src/run-js-test.c | 9 +++------
|
||||
3 files changed, 17 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 5bc23778ef..ddd7d2c6e4 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -21,8 +21,9 @@ libmutter_test_pc = 'libmutter-test-' + mutter_api_version
|
||||
ecal_req = '>= 3.33.1'
|
||||
eds_req = '>= 3.33.1'
|
||||
gcr_req = '>= 3.90.0'
|
||||
-gio_req = '>= 2.85.1'
|
||||
-gjs_req = '>= 1.85.1'
|
||||
+gio_req = '>= 2.79.2'
|
||||
+gi_req = '>= 1.49.1'
|
||||
+gjs_req = '>= 1.81.2'
|
||||
gtk_req = '>= 4.0'
|
||||
mutter_req = '>= 49.0'
|
||||
polkit_req = '>= 0.100'
|
||||
@@ -72,7 +73,7 @@ ecal_dep = dependency('libecal-2.0', version: ecal_req)
|
||||
eds_dep = dependency('libedataserver-1.2', version: eds_req)
|
||||
gcr_dep = dependency('gcr-4', version: gcr_req)
|
||||
gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0')
|
||||
-gi_dep = dependency('girepository-2.0', version: gio_req)
|
||||
+gi_dep = dependency('gobject-introspection-1.0', version: gi_req)
|
||||
gio_dep = dependency('gio-2.0', version: gio_req)
|
||||
gio_unix_dep = dependency('gio-unix-2.0', version: gio_req)
|
||||
gjs_dep = dependency('gjs-1.0', version: gjs_req)
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index 99eca3e3c9..af4fa8597e 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -13,7 +13,7 @@
|
||||
#include <clutter/clutter.h>
|
||||
#include <glib-unix.h>
|
||||
#include <glib/gi18n-lib.h>
|
||||
-#include <girepository/girepository.h>
|
||||
+#include <girepository.h>
|
||||
#include <meta/meta-context.h>
|
||||
#include <meta/meta-plugin.h>
|
||||
#include <meta/prefs.h>
|
||||
@@ -133,7 +133,7 @@ shell_dbus_init (gboolean replace)
|
||||
|
||||
#ifdef HAVE_EXE_INTROSPECTION
|
||||
static void
|
||||
-maybe_add_rpath_introspection_paths (GIRepository *repo)
|
||||
+maybe_add_rpath_introspection_paths (void)
|
||||
{
|
||||
ElfW (Dyn) *dyn;
|
||||
ElfW (Dyn) *rpath = NULL;
|
||||
@@ -210,8 +210,8 @@ maybe_add_rpath_introspection_paths (GIRepository *repo)
|
||||
g_debug ("Prepending RPATH directory '%s' "
|
||||
"to introsepciton library search path",
|
||||
rpath_dir->str);
|
||||
- gi_repository_prepend_search_path (repo, rpath_dir->str);
|
||||
- gi_repository_prepend_library_path (repo, rpath_dir->str);
|
||||
+ g_irepository_prepend_search_path (rpath_dir->str);
|
||||
+ g_irepository_prepend_library_path (rpath_dir->str);
|
||||
}
|
||||
}
|
||||
#endif /* HAVE_EXE_INTROSPECTION */
|
||||
@@ -219,23 +219,20 @@ maybe_add_rpath_introspection_paths (GIRepository *repo)
|
||||
static void
|
||||
shell_introspection_init (void)
|
||||
{
|
||||
- g_autoptr (GIRepository) repo = NULL;
|
||||
|
||||
- repo = gi_repository_dup_default ();
|
||||
-
|
||||
- gi_repository_prepend_search_path (repo, MUTTER_TYPELIB_DIR);
|
||||
- gi_repository_prepend_search_path (repo, SHELL_TYPELIB_DIR);
|
||||
+ g_irepository_prepend_search_path (MUTTER_TYPELIB_DIR);
|
||||
+ g_irepository_prepend_search_path (SHELL_TYPELIB_DIR);
|
||||
|
||||
/* We need to explicitly add the directories where the private libraries are
|
||||
* installed to the GIR's library path, so that they can be found at runtime
|
||||
* when linking using DT_RUNPATH (instead of DT_RPATH), which is the default
|
||||
* for some linkers (e.g. gold) and in some distros (e.g. Debian).
|
||||
*/
|
||||
- gi_repository_prepend_library_path (repo, MUTTER_TYPELIB_DIR);
|
||||
- gi_repository_prepend_library_path (repo, GNOME_SHELL_PKGLIBDIR);
|
||||
+ g_irepository_prepend_library_path (MUTTER_TYPELIB_DIR);
|
||||
+ g_irepository_prepend_library_path (GNOME_SHELL_PKGLIBDIR);
|
||||
|
||||
#ifdef HAVE_EXE_INTROSPECTION
|
||||
- maybe_add_rpath_introspection_paths (repo);
|
||||
+ maybe_add_rpath_introspection_paths ();
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -614,7 +611,7 @@ main (int argc, char **argv)
|
||||
context = meta_create_context (WM_NAME);
|
||||
meta_context_add_option_entries (context, gnome_shell_options,
|
||||
GETTEXT_PACKAGE);
|
||||
- meta_context_add_option_group (context, gi_repository_get_option_group ());
|
||||
+ meta_context_add_option_group (context, g_irepository_get_option_group ());
|
||||
|
||||
session_mode = (char *) g_getenv ("GNOME_SHELL_SESSION_MODE");
|
||||
|
||||
diff --git a/src/run-js-test.c b/src/run-js-test.c
|
||||
index 7a539d3a23..4f795252c2 100644
|
||||
--- a/src/run-js-test.c
|
||||
+++ b/src/run-js-test.c
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
-#include <girepository/girepository.h>
|
||||
+#include <girepository.h>
|
||||
#include <gjs/gjs.h>
|
||||
|
||||
#include "shell-global.h"
|
||||
@@ -64,7 +64,6 @@ int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
GOptionContext *context;
|
||||
- g_autoptr (GIRepository) repo = NULL;
|
||||
g_autoptr (GError) error = NULL;
|
||||
ShellGlobal *global;
|
||||
GjsContext *js_context;
|
||||
@@ -86,10 +85,8 @@ main (int argc, char **argv)
|
||||
global = shell_global_get ();
|
||||
js_context = _shell_global_get_gjs_context (global);
|
||||
|
||||
- repo = gi_repository_dup_default ();
|
||||
-
|
||||
- gi_repository_prepend_search_path (repo, MUTTER_TYPELIB_DIR);
|
||||
- gi_repository_prepend_search_path (repo, SHELL_TYPELIB_DIR);
|
||||
+ g_irepository_prepend_search_path (MUTTER_TYPELIB_DIR);
|
||||
+ g_irepository_prepend_search_path (SHELL_TYPELIB_DIR);
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
--
|
||||
2.51.1
|
||||
|
||||
@ -1,7 +1,37 @@
|
||||
From b1580fc69a8417b45367ed3a2dbd946f270ac683 Mon Sep 17 00:00:00 2001
|
||||
From 83a585f075bacf766e4cf40429fc41c217cf2e29 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 6 Nov 2025 15:17:41 +0100
|
||||
Subject: [PATCH 1/2] Revert "screenshot: Remove gnome-screenshot from allowed
|
||||
senders"
|
||||
|
||||
The following commit will add a CLI screenshot tool that reuses
|
||||
the D-Bus name from gnome-screenshot, so re-allow the caller.
|
||||
|
||||
This reverts commit c9944dbf9bd47a972eb4f3908fefe5878d315d6e.
|
||||
---
|
||||
js/ui/screenshot.js | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js
|
||||
index 209207710b..328080235c 100644
|
||||
--- a/js/ui/screenshot.js
|
||||
+++ b/js/ui/screenshot.js
|
||||
@@ -2450,6 +2450,7 @@ export class ScreenshotService {
|
||||
this._senderChecker = new DBusSenderChecker([
|
||||
'org.gnome.SettingsDaemon.MediaKeys',
|
||||
'org.freedesktop.impl.portal.desktop.gnome',
|
||||
+ 'org.gnome.Screenshot',
|
||||
]);
|
||||
|
||||
this._lockdownSettings = new Gio.Settings({schema_id: 'org.gnome.desktop.lockdown'});
|
||||
--
|
||||
2.51.1
|
||||
|
||||
|
||||
From 525260b46f147fd5272e9c5047a8263f4db1634f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 18 Jul 2025 21:34:36 +0200
|
||||
Subject: [PATCH] Add screenshot CLI tool
|
||||
Subject: [PATCH 2/2] Add screenshot CLI tool
|
||||
|
||||
The tool provides the same API as gnome-screenshot, but leverages
|
||||
GNOME's built-in screenshot UI instead of implementing its own
|
||||
@ -100,10 +130,10 @@ index c61bf51513..cfb9c8e07f 100644
|
||||
+ )
|
||||
+endforeach
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 561ab30832..aed3f89611 100644
|
||||
index ddd7d2c6e4..327e5f0b7e 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -134,6 +134,8 @@ if get_option('man')
|
||||
@@ -141,6 +141,8 @@ if get_option('man')
|
||||
subdir('man')
|
||||
endif
|
||||
|
||||
@ -385,10 +415,10 @@ index 0000000000..e29650abfe
|
||||
+if __name__ == "__main__":
|
||||
+ main()
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index 23d23b4f38..4ccdd3b055 100644
|
||||
index a4ce889eac..d83d84a5e9 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -310,3 +310,29 @@ run_test = executable('run-js-test', 'run-js-test.c',
|
||||
@@ -315,3 +315,29 @@ run_test = executable('run-js-test', 'run-js-test.c',
|
||||
include_directories: [conf_inc],
|
||||
build_rpath: mutter_typelibdir,
|
||||
)
|
||||
@ -419,5 +449,5 @@ index 23d23b4f38..4ccdd3b055 100644
|
||||
+ )
|
||||
+endif
|
||||
--
|
||||
2.50.1
|
||||
2.51.1
|
||||
|
||||
|
||||
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (gnome-shell-47.10.tar.xz) = ba8c15b0215da18c1a702ba5c9e59a042fba24099af896b45dcb02abbb67d0582af9f4f6e0f00b6e3de22d60472ec055780e3c034c6503512d6a246e38ebdcbd
|
||||
SHA512 (gnome-shell-49.1.tar.xz) = 0a729c35669780b9b45fbc22497e9ba5e8e6b3c636f87bf54e372f9f261e364bee04352cfdb90f34fb574fe3ee272b3b248d296751521151f43c670f7f1bd381
|
||||
|
||||
@ -1,384 +0,0 @@
|
||||
From cfeade9501e158b426f571d05ab15ee6dbe49e75 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 7 Feb 2025 15:01:48 +0100
|
||||
Subject: [PATCH 1/3] data: Generate dash/app-grid defaults from text files
|
||||
|
||||
Defining default apps as serialized GVariants isn't very human-friendly,
|
||||
which likely contributes to the fact that the lists are in parts horribly
|
||||
outdated (Books! Cheese! Screenshot! gedit!).
|
||||
|
||||
Instead, generate the lists at build time from simple text files, which
|
||||
should be much easier to update.
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3632>
|
||||
---
|
||||
data/default-apps/app-grid.txt | 21 ++++++++++++++
|
||||
data/default-apps/dash.txt | 6 ++++
|
||||
data/default-apps/utilities-folder.txt | 17 +++++++++++
|
||||
data/meson.build | 8 ++++++
|
||||
data/org.gnome.shell.gschema.xml.in | 28 +++---------------
|
||||
js/misc/config.js.in | 2 ++
|
||||
js/misc/meson.build | 4 +++
|
||||
js/ui/appDisplay.js | 19 ++----------
|
||||
meson.build | 1 +
|
||||
meson/generate-app-list.py | 40 ++++++++++++++++++++++++++
|
||||
10 files changed, 106 insertions(+), 40 deletions(-)
|
||||
create mode 100644 data/default-apps/app-grid.txt
|
||||
create mode 100644 data/default-apps/dash.txt
|
||||
create mode 100644 data/default-apps/utilities-folder.txt
|
||||
create mode 100755 meson/generate-app-list.py
|
||||
|
||||
diff --git a/data/default-apps/app-grid.txt b/data/default-apps/app-grid.txt
|
||||
new file mode 100644
|
||||
index 0000000000..d78ed165eb
|
||||
--- /dev/null
|
||||
+++ b/data/default-apps/app-grid.txt
|
||||
@@ -0,0 +1,21 @@
|
||||
+org.gnome.Geary.desktop
|
||||
+org.gnome.Contacts.desktop
|
||||
+org.gnome.Weather.desktop
|
||||
+org.gnome.clocks.desktop
|
||||
+org.gnome.Maps.desktop
|
||||
+org.gnome.Books.desktop
|
||||
+org.gnome.Photos.desktop
|
||||
+org.gnome.Totem.desktop
|
||||
+org.gnome.Calculator.desktop
|
||||
+org.gnome.gedit.desktop
|
||||
+simple-scan.desktop
|
||||
+org.gnome.Settings.desktop
|
||||
+org.gnome.SystemMonitor.desktop
|
||||
+org.gnome.Boxes.desktop
|
||||
+org.gnome.Terminal.desktop
|
||||
+Utilities # folder
|
||||
+org.gnome.Characters.desktop
|
||||
+yelp.desktop
|
||||
+org.gnome.Screenshot.desktop
|
||||
+org.gnome.Cheese.desktop
|
||||
+org.gnome.font-viewer.desktop
|
||||
diff --git a/data/default-apps/dash.txt b/data/default-apps/dash.txt
|
||||
new file mode 100644
|
||||
index 0000000000..2a8e8bcd06
|
||||
--- /dev/null
|
||||
+++ b/data/default-apps/dash.txt
|
||||
@@ -0,0 +1,6 @@
|
||||
+org.gnome.Epiphany.desktop
|
||||
+org.gnome.Calendar.desktop
|
||||
+org.gnome.Music.desktop
|
||||
+gnome.Nautilus.desktop
|
||||
+org.gnome.Software.desktop
|
||||
+org.gnome.TextEditor.desktop
|
||||
diff --git a/data/default-apps/utilities-folder.txt b/data/default-apps/utilities-folder.txt
|
||||
new file mode 100644
|
||||
index 0000000000..6169977751
|
||||
--- /dev/null
|
||||
+++ b/data/default-apps/utilities-folder.txt
|
||||
@@ -0,0 +1,17 @@
|
||||
+# Sorted by name as shown in menus, not filename
|
||||
+nm-connection-editor.desktop # Advanced Network Configuration
|
||||
+org.gnome.DejaDup.desktop # Backups
|
||||
+org.gnome.Characters.desktop # Characters
|
||||
+org.gnome.Connections.desktop # Connections
|
||||
+org.gnome.DiskUtility.desktop # Disks
|
||||
+org.gnome.baobab.desktop # Disk Usage Analyzer
|
||||
+org.gnome.Evince.desktop # Document Viewer
|
||||
+org.gnome.FileRoller.desktop # File Roller
|
||||
+org.gnome.font-viewer.desktop # Fonts
|
||||
+org.gnome.Loupe.desktop # Image Viewer
|
||||
+org.gnome.Logs.desktop # Logs
|
||||
+org.freedesktop.MalcontentControl.desktop # Parental Controls
|
||||
+org.gnome.seahorse.Application.desktop # Passwords and Keys
|
||||
+org.freedesktop.GnomeAbrt.desktop # Problem Reporting
|
||||
+org.gnome.tweaks.desktop # Tweaks
|
||||
+org.gnome.Usage.desktop # Usage
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
index ed13b6baea..c7565ee810 100644
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -90,6 +90,14 @@ install_data(keybinding_files, install_dir: keysdir)
|
||||
|
||||
schemaconf = configuration_data()
|
||||
schemaconf.set('GETTEXT_PACKAGE', meson.project_name())
|
||||
+schemaconf.set('DASH_APPS', run_command(
|
||||
+ generate_app_list, 'default-apps/dash.txt',
|
||||
+ check: true,
|
||||
+).stdout())
|
||||
+schemaconf.set('APP_GRID_APPS', run_command(
|
||||
+ generate_app_list, '--pages', 'default-apps/app-grid.txt',
|
||||
+ check: true,
|
||||
+).stdout())
|
||||
schema = configure_file(
|
||||
input: 'org.gnome.shell.gschema.xml.in',
|
||||
output: 'org.gnome.shell.gschema.xml',
|
||||
diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in
|
||||
index 3cd37692a7..b1c2534f9c 100644
|
||||
--- a/data/org.gnome.shell.gschema.xml.in
|
||||
+++ b/data/org.gnome.shell.gschema.xml.in
|
||||
@@ -61,7 +61,9 @@
|
||||
</description>
|
||||
</key>
|
||||
<key name="favorite-apps" type="as">
|
||||
- <default>[ 'org.gnome.Epiphany.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop', 'org.gnome.TextEditor.desktop']</default>
|
||||
+ <default>
|
||||
+ @DASH_APPS@
|
||||
+ </default>
|
||||
<summary>List of desktop file IDs for favorite applications</summary>
|
||||
<description>
|
||||
The applications corresponding to these identifiers
|
||||
@@ -118,29 +120,7 @@
|
||||
</key>
|
||||
<key name="app-picker-layout" type="aa{sv}">
|
||||
<default><![CDATA[
|
||||
- [{
|
||||
- 'org.gnome.Geary.desktop': <{'position': <0>}>,
|
||||
- 'org.gnome.Contacts.desktop': <{'position': <1>}>,
|
||||
- 'org.gnome.Weather.desktop': <{'position': <2>}>,
|
||||
- 'org.gnome.clocks.desktop': <{'position': <3>}>,
|
||||
- 'org.gnome.Maps.desktop': <{'position': <4>}>,
|
||||
- 'org.gnome.Books.desktop': <{'position': <5>}>,
|
||||
- 'org.gnome.Photos.desktop': <{'position': <6>}>,
|
||||
- 'org.gnome.Totem.desktop': <{'position': <7>}>,
|
||||
- 'org.gnome.Calculator.desktop': <{'position': <8>}>,
|
||||
- 'org.gnome.gedit.desktop': <{'position': <9>}>,
|
||||
- 'simple-scan.desktop': <{'position': <10>}>,
|
||||
- 'org.gnome.Settings.desktop': <{'position': <11>}>,
|
||||
- 'org.gnome.SystemMonitor.desktop': <{'position': <12>}>,
|
||||
- 'org.gnome.Boxes.desktop': <{'position': <13>}>,
|
||||
- 'org.gnome.Terminal.desktop': <{'position': <14>}>,
|
||||
- 'Utilities': <{'position': <15>}>,
|
||||
- 'org.gnome.Characters.desktop': <{'position': <16>}>,
|
||||
- 'yelp.desktop': <{'position': <17>}>,
|
||||
- 'org.gnome.Screenshot.desktop': <{'position': <18>}>,
|
||||
- 'org.gnome.Cheese.desktop': <{'position': <19>}>,
|
||||
- 'org.gnome.font-viewer.desktop': <{'position': <20>}>
|
||||
- }]
|
||||
+ @APP_GRID_APPS@
|
||||
]]></default>
|
||||
<summary>Layout of the app picker</summary>
|
||||
<description>
|
||||
diff --git a/js/misc/config.js.in b/js/misc/config.js.in
|
||||
index a5069e438a..6485d614f5 100644
|
||||
--- a/js/misc/config.js.in
|
||||
+++ b/js/misc/config.js.in
|
||||
@@ -20,3 +20,5 @@ export const LIBMUTTER_API_VERSION = '@LIBMUTTER_API_VERSION@';
|
||||
|
||||
export const HAVE_BLUETOOTH = pkg.checkSymbol('GnomeBluetooth', '3.0',
|
||||
'Client.default_adapter_state');
|
||||
+
|
||||
+export const UTILITIES_FOLDER_APPS = @UTILS_FOLDER_APPS@;
|
||||
diff --git a/js/misc/meson.build b/js/misc/meson.build
|
||||
index 5fc8ca433f..4b137ef3e6 100644
|
||||
--- a/js/misc/meson.build
|
||||
+++ b/js/misc/meson.build
|
||||
@@ -5,6 +5,10 @@ jsconf.set('GETTEXT_PACKAGE', meson.project_name())
|
||||
jsconf.set('LIBMUTTER_API_VERSION', mutter_api_version)
|
||||
jsconf.set10('HAVE_NETWORKMANAGER', have_networkmanager)
|
||||
jsconf.set10('HAVE_PORTAL_HELPER', have_portal_helper)
|
||||
+jsconf.set('UTILS_FOLDER_APPS', run_command(
|
||||
+ generate_app_list, '../../data/default-apps/utilities-folder.txt',
|
||||
+ check: true,
|
||||
+).stdout())
|
||||
jsconf.set('datadir', datadir)
|
||||
jsconf.set('libexecdir', libexecdir)
|
||||
|
||||
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
|
||||
index bdce3bdeed..992004b8f9 100644
|
||||
--- a/js/ui/appDisplay.js
|
||||
+++ b/js/ui/appDisplay.js
|
||||
@@ -24,6 +24,8 @@ import * as SystemActions from '../misc/systemActions.js';
|
||||
|
||||
import * as Main from './main.js';
|
||||
|
||||
+import {UTILITIES_FOLDER_APPS} from '../misc/config.js';
|
||||
+
|
||||
const MENU_POPUP_TIMEOUT = 600;
|
||||
const POPDOWN_DIALOG_TIMEOUT = 500;
|
||||
|
||||
@@ -60,22 +62,7 @@ const DEFAULT_FOLDERS = {
|
||||
'Utilities': {
|
||||
name: 'X-GNOME-Utilities.directory',
|
||||
categories: ['X-GNOME-Utilities'],
|
||||
- apps: [
|
||||
- 'org.freedesktop.GnomeAbrt.desktop',
|
||||
- 'nm-connection-editor.desktop',
|
||||
- 'org.gnome.baobab.desktop',
|
||||
- 'org.gnome.Connections.desktop',
|
||||
- 'org.gnome.DejaDup.desktop',
|
||||
- 'org.gnome.DiskUtility.desktop',
|
||||
- 'org.gnome.Evince.desktop',
|
||||
- 'org.gnome.FileRoller.desktop',
|
||||
- 'org.gnome.font-viewer.desktop',
|
||||
- 'org.gnome.Loupe.desktop',
|
||||
- 'org.freedesktop.MalcontentControl.desktop',
|
||||
- 'org.gnome.seahorse.Application.desktop',
|
||||
- 'org.gnome.tweaks.desktop',
|
||||
- 'org.gnome.Usage.desktop',
|
||||
- ],
|
||||
+ apps: UTILITIES_FOLDER_APPS,
|
||||
},
|
||||
'YaST': {
|
||||
name: 'suse-yast.directory',
|
||||
diff --git a/meson.build b/meson.build
|
||||
index c9955ca651..6f10a366bf 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -137,6 +137,7 @@ endif
|
||||
mutter_typelibdir = mutter_dep.get_variable('typelibdir')
|
||||
python = find_program('python3')
|
||||
gjs = find_program('gjs')
|
||||
+generate_app_list = find_program('meson/generate-app-list.py')
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
diff --git a/meson/generate-app-list.py b/meson/generate-app-list.py
|
||||
new file mode 100755
|
||||
index 0000000000..067c36967c
|
||||
--- /dev/null
|
||||
+++ b/meson/generate-app-list.py
|
||||
@@ -0,0 +1,40 @@
|
||||
+#!/usr/bin/env python3
|
||||
+
|
||||
+import argparse
|
||||
+
|
||||
+def read_app_ids(path) -> str:
|
||||
+ ids = []
|
||||
+ with open(path, "r") as file:
|
||||
+ for line in file:
|
||||
+ # strip comments
|
||||
+ line, _, _ = line.partition('#');
|
||||
+ line = line.strip()
|
||||
+ if len(line) > 0:
|
||||
+ ids.append(line)
|
||||
+ return ids
|
||||
+
|
||||
+def print_as_array(ids):
|
||||
+ mapped_ids = list(map(lambda i: f" '{i}'", ids))
|
||||
+ print('[')
|
||||
+ print(',\n'.join(mapped_ids))
|
||||
+ print(']')
|
||||
+
|
||||
+def print_as_pages(ids):
|
||||
+ mapped_ids = []
|
||||
+ for i, id in enumerate(ids):
|
||||
+ mapped_ids.append(f" '{id}': <{{'position': <{i}>}}>")
|
||||
+
|
||||
+ print('[{')
|
||||
+ print(',\n'.join(mapped_ids))
|
||||
+ print('}]')
|
||||
+
|
||||
+parser = argparse.ArgumentParser()
|
||||
+parser.add_argument('--pages', action='store_true')
|
||||
+parser.add_argument('file')
|
||||
+args = parser.parse_args()
|
||||
+
|
||||
+ids = read_app_ids(args.file)
|
||||
+if args.pages:
|
||||
+ print_as_pages(ids)
|
||||
+else:
|
||||
+ print_as_array(ids)
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From aeb7adf061d74d75edc85f65520cb404e8a4361d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 14 Feb 2025 15:44:30 +0100
|
||||
Subject: [PATCH 2/3] data: Tweak dash/app-grid defaults
|
||||
|
||||
With the current RHEL 10 app set, the dash and app grid look
|
||||
rather empty.
|
||||
|
||||
Address this by
|
||||
- adding Calculator to dash
|
||||
- moving Characters and Baobab out of the Utilities folder
|
||||
|
||||
With those changes, there are at least 5 apps in the dash and 2 rows
|
||||
in the app grid.
|
||||
---
|
||||
data/default-apps/dash.txt | 1 +
|
||||
data/default-apps/utilities-folder.txt | 2 --
|
||||
2 files changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/data/default-apps/dash.txt b/data/default-apps/dash.txt
|
||||
index 2a8e8bcd06..d0c2c21eb8 100644
|
||||
--- a/data/default-apps/dash.txt
|
||||
+++ b/data/default-apps/dash.txt
|
||||
@@ -4,3 +4,4 @@ org.gnome.Music.desktop
|
||||
gnome.Nautilus.desktop
|
||||
org.gnome.Software.desktop
|
||||
org.gnome.TextEditor.desktop
|
||||
+org.gnome.Calculator.desktop
|
||||
diff --git a/data/default-apps/utilities-folder.txt b/data/default-apps/utilities-folder.txt
|
||||
index 6169977751..187e3cfc54 100644
|
||||
--- a/data/default-apps/utilities-folder.txt
|
||||
+++ b/data/default-apps/utilities-folder.txt
|
||||
@@ -1,10 +1,8 @@
|
||||
# Sorted by name as shown in menus, not filename
|
||||
nm-connection-editor.desktop # Advanced Network Configuration
|
||||
org.gnome.DejaDup.desktop # Backups
|
||||
-org.gnome.Characters.desktop # Characters
|
||||
org.gnome.Connections.desktop # Connections
|
||||
org.gnome.DiskUtility.desktop # Disks
|
||||
-org.gnome.baobab.desktop # Disk Usage Analyzer
|
||||
org.gnome.Evince.desktop # Document Viewer
|
||||
org.gnome.FileRoller.desktop # File Roller
|
||||
org.gnome.font-viewer.desktop # Fonts
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 7a21fca2f59d68896f54600b64e5d9a216203e9e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 7 Feb 2025 15:54:15 +0100
|
||||
Subject: [PATCH 3/3] appDisplay: Filter apps in default folder
|
||||
|
||||
We currently create the default folder with the corresponding
|
||||
app list, regardless of whether the apps are actually part of
|
||||
the default install or not.
|
||||
|
||||
This matters when a user explicitly install such an app later,
|
||||
as it will be hidden away in the folder rather than appended
|
||||
to the app grid as expected.
|
||||
|
||||
To avoid that, only add currently-installed apps to the folder
|
||||
when creating it.
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3632>
|
||||
---
|
||||
js/ui/appDisplay.js | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
|
||||
index 992004b8f9..6bd2d899cd 100644
|
||||
--- a/js/ui/appDisplay.js
|
||||
+++ b/js/ui/appDisplay.js
|
||||
@@ -1419,12 +1419,16 @@ class AppDisplay extends BaseAppView {
|
||||
if (this._folderSettings.get_strv('folder-children').length > 0)
|
||||
return;
|
||||
|
||||
+ const appSys = Shell.AppSystem.get_default();
|
||||
const folders = Object.keys(DEFAULT_FOLDERS);
|
||||
this._folderSettings.set_strv('folder-children', folders);
|
||||
|
||||
const {path} = this._folderSettings;
|
||||
for (const folder of folders) {
|
||||
const {name, categories, apps} = DEFAULT_FOLDERS[folder];
|
||||
+ const filteredApps = apps
|
||||
+ ? apps.filter(id => appSys.lookup_app(id) != null)
|
||||
+ : [];
|
||||
const child = new Gio.Settings({
|
||||
schema_id: 'org.gnome.desktop.app-folders.folder',
|
||||
path: `${path}folders/${folder}/`,
|
||||
@@ -1432,8 +1436,8 @@ class AppDisplay extends BaseAppView {
|
||||
child.set_string('name', name);
|
||||
child.set_boolean('translate', true);
|
||||
child.set_strv('categories', categories);
|
||||
- if (apps)
|
||||
- child.set_strv('apps', apps);
|
||||
+ if (filteredApps.length > 0)
|
||||
+ child.set_strv('apps', filteredApps);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.48.1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user