Compare commits

..

No commits in common. "dc7a730e2ec8df496d006689fa418ce0d13a4aec" and "377246148cbdf14689e1556e1c49bb3c1390ec99" have entirely different histories.

8 changed files with 25480 additions and 92 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,56 @@
From 68b038ba1ee10cb957eec56fec435e3cfeffd20d Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Wed, 15 Aug 2018 14:26:19 +0200
Subject: [PATCH 1/2] endSessionDialog: Immediately add buttons to the dialog
Immediately add buttons to the dialog instead of first building an
array of button-info structs.
This is a preparation patch for adding support changing the "Reboot"
button into a "Boot Options" button when Alt is pressed.
---
js/ui/endSessionDialog.js | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
index 4804333d4..5657cbffd 100644
--- a/js/ui/endSessionDialog.js
+++ b/js/ui/endSessionDialog.js
@@ -437,25 +437,26 @@ var EndSessionDialog = new Lang.Class({
},
_updateButtons() {
- let dialogContent = DialogContent[this._type];
- let buttons = [{ action: this.cancel.bind(this),
+ this.clearButtons();
+
+ this.addButton({ action: this.cancel.bind(this),
label: _("Cancel"),
- key: Clutter.Escape }];
+ key: Clutter.Escape });
+ let dialogContent = DialogContent[this._type];
for (let i = 0; i < dialogContent.confirmButtons.length; i++) {
let signal = dialogContent.confirmButtons[i].signal;
let label = dialogContent.confirmButtons[i].label;
- buttons.push({ action: () => {
+ let button = this.addButton(
+ { action: () => {
this.close(true);
let signalId = this.connect('closed', () => {
this.disconnect(signalId);
this._confirm(signal);
});
- },
- label: label });
+ },
+ label: label });
}
-
- this.setButtons(buttons);
},
close(skipSignal) {
--
2.19.0

View File

@ -0,0 +1,68 @@
From ccc59673827f9e36b7374fcf03de94d1b1513550 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Mon, 22 Oct 2018 22:06:36 +0000
Subject: [PATCH] keyboardManager: Avoid idempotent calls to
meta_backend_set_keymap()
But still try to apply the keymap whenever the input sources changed. This
is a different approach to gnome-shell#240 that still avoid redundant
changes to the current keymap, but actually trigger one when input sources
are added.
https://bugzilla.redhat.com/show_bug.cgi?id=1637418
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/691
(cherry picked from commit b405ed64427a9d518d1714df678d04ad11267e15)
---
js/misc/keyboardManager.js | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/js/misc/keyboardManager.js b/js/misc/keyboardManager.js
index ae59f0014..f4001f130 100644
--- a/js/misc/keyboardManager.js
+++ b/js/misc/keyboardManager.js
@@ -52,11 +52,20 @@ var KeyboardManager = new Lang.Class({
this._current = null;
this._localeLayoutInfo = this._getLocaleLayout();
this._layoutInfos = {};
+ this._currentKeymap = null;
},
_applyLayoutGroup(group) {
let options = this._buildOptionsString();
let [layouts, variants] = this._buildGroupStrings(group);
+
+ if (this._currentKeymap &&
+ this._currentKeymap.layouts == layouts &&
+ this._currentKeymap.variants == variants &&
+ this._currentKeymap.options == options)
+ return;
+
+ this._currentKeymap = {layouts, variants, options};
Meta.get_backend().set_keymap(layouts, variants, options);
},
@@ -89,8 +98,6 @@ var KeyboardManager = new Lang.Class({
},
setUserLayouts(ids) {
- let currentId = this._current ? this._current.id : null;
- let currentGroupIndex = this._current ? this._current.groupIndex : null;
this._current = null;
this._layoutInfos = {};
@@ -117,9 +124,6 @@ var KeyboardManager = new Lang.Class({
info.group = group;
info.groupIndex = groupIndex;
- if (currentId == id && currentGroupIndex == groupIndex)
- this._current = info;
-
i += 1;
}
},
--
2.19.1

View File

@ -0,0 +1,115 @@
From 345278af9b7139d12e393d6b18abfe055172dedd Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Wed, 15 Aug 2018 15:03:56 +0200
Subject: [PATCH 2/2] endSessionDialog: Support rebooting into the bootloader
menu aka ("Boot Options")
This implements the "Alt" behavior for the "Reboot" button as outlined in
the design here: https://wiki.gnome.org/Design/OS/BootOptions
This causes the endSessionDialog to send a ConfirmedRebootToBootOptions signal
to gnome-session instead of the normal ConfirmedReboot signal, actually
telling the boot-loader that it should show its menu the next boot is left
up to gnome-session.
Note I've tried implementing this with the AltSwitcher class from
js/ui/status/system.js first, but that puts the button in a St.Bin()
which causes the button to think it is the only button on the dialog
and makes it have rounded corners on both of its bottom corners.
---
js/ui/endSessionDialog.js | 50 +++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
index 5657cbffd..bfc64a7d6 100644
--- a/js/ui/endSessionDialog.js
+++ b/js/ui/endSessionDialog.js
@@ -271,6 +271,9 @@ var EndSessionDialog = new Lang.Class({
this._totalSecondsToStayOpen = 0;
this._applications = [];
this._sessions = [];
+ this._capturedEventId = 0;
+ this._rebootButton = null;
+ this._rebootButtonAlt = null;
this.connect('destroy',
this._onDestroy.bind(this));
@@ -436,6 +439,26 @@ var EndSessionDialog = new Lang.Class({
this._sessionHeader.visible = hasSessions;
},
+ _onCapturedEvent(actor, event) {
+ let altEnabled = false;
+
+ let type = event.type();
+ if (type != Clutter.EventType.KEY_PRESS && type != Clutter.EventType.KEY_RELEASE)
+ return Clutter.EVENT_PROPAGATE;
+
+ let key = event.get_key_symbol();
+ if (key != Clutter.KEY_Alt_L && key != Clutter.KEY_Alt_R)
+ return Clutter.EVENT_PROPAGATE;
+
+ if (type == Clutter.EventType.KEY_PRESS)
+ altEnabled = true;
+
+ this._rebootButton.visible = !altEnabled;
+ this._rebootButtonAlt.visible = altEnabled;
+
+ return Clutter.EVENT_PROPAGATE;
+ },
+
_updateButtons() {
this.clearButtons();
@@ -456,7 +479,32 @@ var EndSessionDialog = new Lang.Class({
});
},
label: label });
+
+ // Add Alt "Boot Options" option to the Reboot button
+ if (signal == 'ConfirmedReboot') {
+ this._rebootButton = button;
+ this._rebootButtonAlt = this.addButton(
+ { action: () => {
+ this.close(true);
+ let signalId = this.connect('closed', () => {
+ this.disconnect(signalId);
+ this._confirm('ConfirmedRebootToBootOptions');
+ });
+ },
+ label: C_("button", "Boot Options") });
+ this._rebootButtonAlt.visible = false;
+ this._capturedEventId = global.stage.connect('captured-event', this._onCapturedEvent.bind(this));
+ }
+ }
+ },
+
+ _stopAltCapture() {
+ if (this._capturedEventId > 0) {
+ global.stage.disconnect(this._capturedEventId);
+ this._capturedEventId = 0;
}
+ this._rebootButton = null;
+ this._rebootButtonAlt = null;
},
close(skipSignal) {
@@ -468,6 +516,7 @@ var EndSessionDialog = new Lang.Class({
cancel() {
this._stopTimer();
+ this._stopAltCapture();
this._dbusImpl.emit_signal('Canceled', null);
this.close();
},
@@ -476,6 +525,7 @@ var EndSessionDialog = new Lang.Class({
let callback = () => {
this._fadeOutDialog();
this._stopTimer();
+ this._stopAltCapture();
this._dbusImpl.emit_signal(signal, null);
};
--
2.19.0

BIN
gnome-shell-3.30.1.tar.xz Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,38 +1,21 @@
From ecbdc8596190dd0b2686cbe75790ed01708bd2a2 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/org.gnome.shell.gschema.xml.in | 2 +-
js/ui/appFavorites.js | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in
index 49d38d766..1433292e4 100644
--- a/data/org.gnome.shell.gschema.xml.in
+++ b/data/org.gnome.shell.gschema.xml.in
@@ -50,7 +50,7 @@
--- gnome-shell-3.13.90/data/org.gnome.shell.gschema.xml.in.firefox 2014-08-20 20:28:07.601133033 +0200
+++ gnome-shell-3.13.90/data/org.gnome.shell.gschema.xml.in 2014-08-20 20:28:41.741503518 +0200
@@ -31,7 +31,7 @@
</description>
</key>
<key name="favorite-apps" type="as">
- <default>[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
+ <default>[ 'firefox.desktop', 'org.gnome.Calendar.desktop', 'rhythmbox.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
- <default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
+ <default>[ 'firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
<summary>List of desktop file IDs for favorite applications</summary>
<description>
The applications corresponding to these identifiers
diff --git a/js/ui/appFavorites.js b/js/ui/appFavorites.js
index 3308dd6b3..87c008704 100644
--- a/js/ui/appFavorites.js
+++ b/js/ui/appFavorites.js
@@ -50,6 +50,7 @@ const RENAMED_DESKTOP_IDS = {
'gnotski.desktop': 'org.gnome.Klotski.desktop',
'gtali.desktop': 'org.gnome.Tali.desktop',
'iagno.desktop': 'org.gnome.Reversi.desktop',
@@ -31,6 +31,7 @@ const RENAMED_DESKTOP_IDS = {
'gnotravex.desktop': 'gnome-tetravex.desktop',
'gnotski.desktop': 'gnome-klotski.desktop',
'gtali.desktop': 'tali.desktop',
+ 'mozilla-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',
--
2.24.1
'polari.desktop': 'org.gnome.Polari.desktop',
'totem.desktop': 'org.gnome.Totem.desktop',

View File

@ -1,33 +1,33 @@
Name: gnome-shell
Version: 3.38.4
Release: 4
Version: 3.30.1
Release: 6
Summary: Core user interface functions for the GNOME 3 desktop
Group: User Interface/Desktops
License: GPLv2+
URL: https://wiki.gnome.org/Projects/GnomeShell
Source0: http://download.gnome.org/sources/gnome-shell/3.38/%{name}-%{version}.tar.xz
Source0: http://download.gnome.org/sources/gnome-shell/3.30/%{name}-%{version}.tar.xz
Patch1: gnome-shell-favourite-apps-firefox.patch
Patch2: 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch
Patch3: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch
Patch4: 0001-keyboardManager-Avoid-idempotent-calls-to-meta_backe.patch
Patch5: 0001-Include-the-libcroco-sources-directly-under-src-st-c.patch
BuildRequires: meson ibus-devel chrpath dbus-glib-devel desktop-file-utils
BuildRequires: meson git ibus-devel chrpath dbus-glib-devel desktop-file-utils
BuildRequires: evolution-data-server-devel gcr-devel gjs-devel glib2-devel
BuildRequires: gobject-introspection json-glib-devel upower-devel mesa-libGL-devel
BuildRequires: NetworkManager-libnm-devel polkit-devel startup-notification-devel
BuildRequires: sassc gstreamer1-devel gtk3-devel gettext libcanberra-devel
BuildRequires: python3-devel libXfixes-devel librsvg2-devel asciidoc
BuildRequires: python3-devel libXfixes-devel librsvg2-devel
BuildRequires: mutter-devel pulseaudio-libs-devel control-center gtk-doc
BuildRequires: bash-completion gnome-autoar-devel gnome-desktop3-devel
BuildRequires: mesa-libEGL-devel systemd-devel python3
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.0 gnome-bluetooth-libs-devel
Requires: gnome-desktop3 gobject-introspection gjs gtk3 libnma librsvg2
Requires: json-glib mozilla-filesystem mutter upower polkit glib2
Requires: gsettings-desktop-schemas gstreamer1 at-spi2-atk gnome-bluetooth
Requires: ibus accountsservice-libs gdm control-center python3 gnome-settings-daemon
Requires: switcheroo-control geoclue2 libgweather bolt gnome-session-xsession
Requires: geoclue2-libs pipewire xdg-desktop-portal-gtk >= 1.8.0
Requires: gsettings-desktop-schemas gstreamer1 at-spi2-atk
Requires: ibus accountsservice-libs gdm control-center python3
Requires: switcheroo-control geoclue2 libgweather bolt
Provides: desktop-notification-daemon PolicyKit-authentication-agent
Provides: desktop-notification-daemon
%description
The GNOME Shell redefines user interactions with the GNOME desktop. In particular,
@ -48,11 +48,11 @@ Help files for %{name}
%prep
%autosetup -n %{name}-%{version} -p1
%autosetup -n %{name}-%{version} -p1 -Sgit
%build
%meson -Dextensions_app=false
%meson
%meson_build
@ -61,101 +61,66 @@ Help files for %{name}
%find_lang %{name}
chrpath -d %{buildroot}%{_bindir}/gnome-shell
chrpath -d %{buildroot}%{_libdir}/%{name}/libst-1.0.so
chrpath -d %{buildroot}%{_libdir}/%{name}/libgnome-shell.so
chrpath -d %{buildroot}%{_libdir}/%{name}/libgnome-shell-menu.so
mkdir -p %{buildroot}/etc/ld.so.conf.d
echo "%{_bindir}/%{name}" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
echo "%{_libdir}/%{name}" >> %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.desktop
desktop-file-validate %{buildroot}%{_datadir}/applications/gnome-shell-extension-prefs.desktop
desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.desktop
%preun
/sbin/ldconfig
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null ||:
%posttrans
/sbin/ldconfig
glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null ||:
%files -f %{name}.lang
%license COPYING
%doc README.md
%{_bindir}/gnome-*
%{_bindir}/gnome-shell
%{_bindir}/gnome-shell-extension-tool
%{_bindir}/gnome-shell-perf-tool
%{_bindir}/gnome-shell-extension-prefs
%{_datadir}/glib-2.0/schemas/*.xml
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override
%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
%{_datadir}/applications/org.gnome.Shell.desktop
%{_datadir}/applications/gnome-shell-extension-prefs.desktop
%{_datadir}/applications/evolution-calendar.desktop
%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-system.xml
%{_datadir}/gnome-shell/
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
%{_datadir}/dbus-1/services/org.gnome.Shell.Extensions.service
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
%{_datadir}/dbus-1/services/org.gnome.Shell.Notifications.service
%{_datadir}/dbus-1/services/org.gnome.Shell.PortalHelper.service
%{_datadir}/dbus-1/services/org.gnome.Shell.Screencast.service
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Extensions.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.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.ShellSearchProvider.xml
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
%{_userunitdir}/org.gnome.Shell-disable-extensions.service
%{_userunitdir}/org.gnome.Shell.target
%{_userunitdir}/org.gnome.Shell@wayland.service
%{_userunitdir}/org.gnome.Shell@x11.service
%{_userunitdir}/gnome-shell.service
%{_userunitdir}/gnome-shell-wayland.target
%{_userunitdir}/gnome-shell-x11.target
%{_sysconfdir}/xdg/autostart/gnome-shell-overrides-migration.desktop
%dir %{_datadir}/xdg-desktop-portal/portals/
%{_datadir}/xdg-desktop-portal/portals/gnome-shell.portal
%{_datadir}/bash-completion/completions/gnome-extensions
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg
%{_libdir}/gnome-shell/
%{_libdir}/mozilla/plugins/*.so
%{_libexecdir}/gnome-shell-calendar-server
%{_libexecdir}/gnome-shell-perf-helper
%{_libexecdir}/gnome-shell-hotplug-sniffer
%{_libexecdir}/gnome-shell-portal-helper
%{_libexecdir}/gnome-shell-overrides-migration.sh
%{_datadir}/GConf/*
%config(noreplace) /etc/ld.so.conf.d/*
%dir %{_datadir}/GConf
%dir %{_datadir}/GConf/gsettings
%{_datadir}/GConf/gsettings/gnome-shell-overrides.convert
%files help
%{_mandir}/man1/%{name}.1.gz
%{_mandir}/man1/gnome-extensions.1.gz
%changelog
* Tue Sep 07 2021 chenchen <chen_aka_jan@163.com> - 3.38.4-4
- del rpath from some binaries and bin
* Fri Jul 30 2021 chenyanpanHW <chenyanpan@huawei.com> - 3.38.4-3
- DESC: delete -Sgit from %autosetup, and delete BuildRequires git
* Wed Jun 23 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 3.38.4-2
- Delete requires gdm-libs which gdm contains it
- Use pipewire replace pipewire-gstreamer which pipewire contains it
- Add xdg-desktop-portal-gtk for launching flatpak apps etc
* Mon May 31 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 3.38.4-1
- Upgrade to 3.38.4
- Update Version, Release, Source0, BuildRequires, Requires
- Delete patches which existed in current version, modify one patch
- Update stage 'build', 'check', 'files'
* Tue Mar 30 2021 wangyue<wangyue92@huawei.com> - 3.30.1-7
- fix CVE-2020-17489
* Thu Dec 03 2020 wangxiao<wangxia65@huawei.com> -3.30.1-6
- move the libcroco sources directly under src/st
remove the libcroco dependency from the meson.build files