This commit is contained in:
Ward from fusion-voyager-3 2023-10-15 20:21:17 +03:00
parent 94f06ce77a
commit bf81b2b904
34 changed files with 303 additions and 131 deletions

28
debian/changelog vendored
View File

@ -1,31 +1,5 @@
gnome-shell-vrr (45.0-100pika1) pikauwu; urgency=medium
gnome-shell (45.0-100pika2) pikauwu; urgency=medium
* Why are there two control files? wtffffffffffffff
-- Ward Nakchbandi <hotrod.master@hotmail.com> Fri, 07 Oct 2022 23:26:00 +0300
gnome-shell-vrr (44.2-99pika5) lunar; urgency=medium
* Why are there two control files? wtffffffffffffff
-- Ward Nakchbandi <hotrod.master@hotmail.com> Fri, 07 Oct 2022 23:26:00 +0300
gnome-shell-vrr (44.2-99pika4) lunar; urgency=medium
* Upstream release
-- Ward Nakchbandi <hotrod.master@hotmail.com> Fri, 07 Oct 2022 23:26:00 +0300
gnome-shell-vrr (44.2-99pika3) lunar; urgency=medium
* Upstream release
-- Ward Nakchbandi <hotrod.master@hotmail.com> Fri, 07 Oct 2022 23:26:00 +0300
gnome-shell-vrr (44.2-99pika2.lunar) lunar; urgency=medium
* Upstream release
-- Ward Nakchbandi <hotrod.master@hotmail.com> Fri, 07 Oct 2022 23:26:00 +0300

30
debian/control vendored
View File

@ -2,7 +2,7 @@
#
# Modifications should be made to debian/control.in instead.
# This file is regenerated automatically in the clean target.
Source: gnome-shell-vrr
Source: gnome-shell
Section: gnome
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
@ -49,6 +49,8 @@ Build-Depends: appstream,
libgtk-4-dev,
libibus-1.0-dev (>= 1.5.22-2ubuntu2~),
libjson-glib-dev,
libmutter-13-dev (>= 45.0),
mutter-13-tests (>= 45.0) <!nocheck>,
libnm-dev [linux-any],
libpipewire-0.3-dev (>= 0.3.10) [linux-any],
libpolkit-agent-1-dev,
@ -61,7 +63,7 @@ Build-Depends: appstream,
libxml2-dev,
mesa-common-dev,
meson (>= 0.58.0),
mutter-vrr,
mutter (>= 45.0) <!nocheck>,
pkg-config,
sassc,
systemd [linux-any],
@ -76,7 +78,7 @@ XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell.git -b ubuntu/master
Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell/tree/ubuntu/master
Package: gnome-shell-vrr
Package: gnome-shell
Architecture: linux-any
Depends: gir1.2-accountsservice-1.0,
gir1.2-adw-1,
@ -107,7 +109,7 @@ Depends: gir1.2-accountsservice-1.0,
gir1.2-upowerglib-1.0,
gir1.2-webkit-6.0,
gnome-settings-daemon (>= 40~),
gnome-shell-common-vrr (= ${source:Version}),
gnome-shell-common (= ${source:Version}),
gsettings-desktop-schemas (>= 42~beta),
gstreamer1.0-pipewire (>= 0.3.10) [linux-any],
libglib2.0-bin,
@ -156,29 +158,29 @@ Description: graphical shell for the GNOME desktop
delightful and easy to use experience. GNOME Shell is the defining
technology of the GNOME 3 user experience.
Package: gnome-shell-common-vrr
Package: gnome-shell-common
Architecture: all
Depends: ${misc:Depends}, mutter-vrr
Depends: ${misc:Depends}
Recommends: yaru-theme-gnome-shell (>= 23.10.0~)
Breaks: gnome-shell-vrr (<< 3.36.1-6~)
Replaces: gnome-shell-vrr (<< 3.36.1-6~)
Breaks: gnome-shell (<< 3.36.1-6~)
Replaces: gnome-shell (<< 3.36.1-6~)
Description: common files for the GNOME graphical shell
This package contains translations and data files for the GNOME shell.
Package: gnome-shell-extension-prefs-vrr
Package: gnome-shell-extension-prefs
Architecture: linux-any
Depends: gir1.2-adw-1,
gir1.2-gtk-4.0,
gjs (>= 1.73.1),
gnome-shell-vrr (= ${binary:Version}),
gnome-shell-common-vrr (= ${source:Version}),
gnome-shell (= ${binary:Version}),
gnome-shell-common (= ${source:Version}),
${gir:Depends},
${misc:Depends},
${shlibs:Depends}
Provides: gnome-extensions-app
Recommends: chrome-gnome-shell
Breaks: gnome-shell-vrr (<< 3.36.0-2)
Replaces: gnome-shell-vrr (<< 3.36.0-2)
Breaks: gnome-shell (<< 3.36.0-2)
Replaces: gnome-shell (<< 3.36.0-2)
Description: tool to enable / disable GNOME Shell extensions
This package contains a tool which users who use Shell extensions can use to
toggle them on and off, and access their preferences.
toggle them on and off, and access their preferences.

30
debian/control.in vendored
View File

@ -1,4 +1,4 @@
Source: gnome-shell-vrr
Source: gnome-shell
Section: gnome
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
@ -45,6 +45,8 @@ Build-Depends: appstream,
libgtk-4-dev,
libibus-1.0-dev (>= 1.5.22-2ubuntu2~),
libjson-glib-dev,
libmutter-13-dev (>= 45.0),
mutter-13-tests (>= 45.0) <!nocheck>,
libnm-dev [linux-any],
libpipewire-0.3-dev (>= 0.3.10) [linux-any],
libpolkit-agent-1-dev,
@ -57,7 +59,7 @@ Build-Depends: appstream,
libxml2-dev,
mesa-common-dev,
meson (>= 0.58.0),
mutter-vrr,
mutter (>= 45.0) <!nocheck>,
pkg-config,
sassc,
systemd [linux-any],
@ -72,7 +74,7 @@ XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell.git -b ubuntu/master
Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell/tree/ubuntu/master
Package: gnome-shell-vrr
Package: gnome-shell
Architecture: linux-any
Depends: gir1.2-accountsservice-1.0,
gir1.2-adw-1,
@ -103,7 +105,7 @@ Depends: gir1.2-accountsservice-1.0,
gir1.2-upowerglib-1.0,
gir1.2-webkit-6.0,
gnome-settings-daemon (>= 40~),
gnome-shell-common-vrr (= ${source:Version}),
gnome-shell-common (= ${source:Version}),
gsettings-desktop-schemas (>= 42~beta),
gstreamer1.0-pipewire (>= 0.3.10) [linux-any],
libglib2.0-bin,
@ -152,29 +154,29 @@ Description: graphical shell for the GNOME desktop
delightful and easy to use experience. GNOME Shell is the defining
technology of the GNOME 3 user experience.
Package: gnome-shell-common-vrr
Package: gnome-shell-common
Architecture: all
Depends: ${misc:Depends}, mutter-vrr
Depends: ${misc:Depends}
Recommends: yaru-theme-gnome-shell (>= 23.10.0~)
Breaks: gnome-shell-vrr (<< 3.36.1-6~)
Replaces: gnome-shell-vrr (<< 3.36.1-6~)
Breaks: gnome-shell (<< 3.36.1-6~)
Replaces: gnome-shell (<< 3.36.1-6~)
Description: common files for the GNOME graphical shell
This package contains translations and data files for the GNOME shell.
Package: gnome-shell-extension-prefs-vrr
Package: gnome-shell-extension-prefs
Architecture: linux-any
Depends: gir1.2-adw-1,
gir1.2-gtk-4.0,
gjs (>= 1.73.1),
gnome-shell-vrr (= ${binary:Version}),
gnome-shell-common-vrr (= ${source:Version}),
gnome-shell (= ${binary:Version}),
gnome-shell-common (= ${source:Version}),
${gir:Depends},
${misc:Depends},
${shlibs:Depends}
Provides: gnome-extensions-app
Recommends: chrome-gnome-shell
Breaks: gnome-shell-vrr (<< 3.36.0-2)
Replaces: gnome-shell-vrr (<< 3.36.0-2)
Breaks: gnome-shell (<< 3.36.0-2)
Replaces: gnome-shell (<< 3.36.0-2)
Description: tool to enable / disable GNOME Shell extensions
This package contains a tool which users who use Shell extensions can use to
toggle them on and off, and access their preferences.
toggle them on and off, and access their preferences.

View File

@ -1 +0,0 @@
GSETTINGS_SCHEMA_DIR="/opt/mutter-vrr/share/glib-2.0/schemas:$GSETTINGS_SCHEMA_DIR" LD_LIBRARY_PATH="/opt/mutter-vrr/lib/x86_64-linux-gnu:/opt/mutter-vrr/lib/x86_64-linux-gnu/mutter-11:/opt/mutter-vrr/lib/x86_64-linux-gnu/mutter-11/plugins:$LD_LIBRARY_PATH" PATH="/opt/mutter-vrr/bin:$PATH" /opt/mutter-vrr/bin/gnome-shell $@

View File

@ -1,14 +0,0 @@
[Desktop Entry]
Type=Application
Name=GNOME VRR Shell
Comment=Window management and application launching
Exec=/usr/bin/gnome-shell-vrr
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=true
X-Ubuntu-Gettext-Domain=gnome-shell

2
debian/gbp.conf vendored
View File

@ -1,6 +1,6 @@
[DEFAULT]
pristine-tar = True
debian-branch=ubuntu/master
debian-branch = ubuntu/mantic
debian-tag=ubuntu/%(version)s
upstream-branch = upstream/latest

View File

@ -1,7 +0,0 @@
opt/mutter-vrr/lib/systemd/user
opt/mutter-vrr/share/dbus-1/interfaces
opt/mutter-vrr/share/glib-2.0
opt/mutter-vrr/share/gnome-control-center
opt/mutter-vrr/share/gnome-shell
opt/mutter-vrr/share/icons/hicolor/*/apps/*
opt/mutter-vrr/share/locale

View File

@ -1,2 +0,0 @@
glib-compile-schemas /opt/mutter-vrr/share/glib-2.0/schemas/

View File

@ -1,2 +0,0 @@
glib-compile-schemas /opt/mutter-vrr/share/glib-2.0/schemas/

View File

@ -0,0 +1,4 @@
Name: gdm-theme.gresource
Link: /usr/share/gnome-shell/gdm-theme.gresource
Alternative: /usr/share/gnome-shell/gnome-shell-theme.gresource
Priority: 10

1
debian/gnome-shell-common.dirs vendored Normal file
View File

@ -0,0 +1 @@
usr/share/gnome-shell/modes

9
debian/gnome-shell-common.install vendored Normal file
View File

@ -0,0 +1,9 @@
debian/source_gnome-shell.py /usr/share/apport/package-hooks
usr/lib/systemd/user
usr/share/dbus-1/interfaces
usr/share/glib-2.0
usr/share/gnome-control-center
usr/share/gnome-shell
usr/share/icons/hicolor/*/apps/*
usr/share/locale
debian/ubuntu-session-mods/ubuntu.json usr/share/gnome-shell/modes/

View File

@ -1,4 +0,0 @@
opt/mutter-vrr/bin/gnome-extensions-app
opt/mutter-vrr/bin/gnome-shell-extension-prefs
opt/mutter-vrr/share/applications/org.gnome.Extensions.desktop
opt/mutter-vrr/share/metainfo/org.gnome.Extensions.metainfo.xml

View File

@ -0,0 +1,4 @@
usr/bin/gnome-extensions-app
usr/bin/gnome-shell-extension-prefs
usr/share/applications/org.gnome.Extensions.desktop
usr/share/metainfo/org.gnome.Extensions.metainfo.xml

View File

@ -1,13 +0,0 @@
opt/mutter-vrr/bin/gnome-extensions
opt/mutter-vrr/bin/gnome-shell
opt/mutter-vrr/bin/gnome-shell-extension-tool
opt/mutter-vrr/bin/gnome-shell-test-tool
opt/mutter-vrr/lib/gnome-shell
opt/mutter-vrr/libexec
opt/mutter-vrr/share/applications/org.gnome.Shell*.desktop
opt/mutter-vrr/share/bash-completion/completions/gnome-extensions
opt/mutter-vrr/share/dbus-1/services
opt/mutter-vrr/share/man
opt/mutter-vrr/share/xdg-desktop-portal
debian/extras/gnome-shell-vrr usr/bin/
debian/extras/gnome-vrr.Shell.desktop usr/share/applications

View File

@ -1,16 +0,0 @@
# These RUNPATHs are needed to find mutter's private clutter fork
gnome-shell: custom-library-search-path opt/mutter-vrr/bin/gnome-shell RUNPATH opt/mutter-vrr/lib/*/mutter-*/
gnome-shell: custom-library-search-path opt/mutter-vrr/lib/gnome-shell/*.so RUNPATH opt/mutter-vrr/lib/*/mutter-*/
# This is just a launcher for a desktop-required component (evolution)
gnome-shell: desktop-command-not-in-package opt/mutter-vrr/share/applications/evolution-calendar.desktop evolution
# gnome-shell ships some desktop files only to provide metadata and icons to some apps
gnome-shell: desktop-command-not-in-package opt/mutter-vrr/share/applications/org.gnome.Shell.Extensions.desktop false
gnome-shell: desktop-command-not-in-package opt/mutter-vrr/share/applications/org.gnome.Shell.PortalHelper.desktop gapplication
# This is a NoDisplay=true desktop file, so there's no need for it
gnome-shell: desktop-entry-lacks-main-category opt/mutter-vrr/share/applications/org.gnome.Shell.desktop
# Conceptually a program, only built as a shared library for technical reasons
gnome-shell: exit-in-shared-library opt/mutter-vrr/lib/gnome-shell/libgnome-shell.so

11
debian/gnome-shell.install vendored Normal file
View File

@ -0,0 +1,11 @@
usr/bin/gnome-extensions
usr/bin/gnome-shell
usr/bin/gnome-shell-extension-tool
usr/bin/gnome-shell-test-tool
usr/lib/gnome-shell
usr/libexec
usr/share/applications/org.gnome.Shell*.desktop
usr/share/bash-completion/completions/gnome-extensions
usr/share/dbus-1/services
usr/share/man
usr/share/xdg-desktop-portal

14
debian/gnome-shell.lintian-overrides vendored Normal file
View File

@ -0,0 +1,14 @@
# These RUNPATHs are needed to find mutter's private clutter fork
gnome-shell: custom-library-search-path RUNPATH /usr/lib/*/mutter-* [usr/bin/gnome-shell]
gnome-shell: custom-library-search-path RUNPATH /usr/lib/*/mutter-* [usr/lib/gnome-shell/*.so]
# gnome-shell ships some desktop files only to provide metadata and icons to some apps
gnome-shell: desktop-command-not-in-package false [usr/share/applications/org.gnome.Shell.Extensions.desktop]
gnome-shell: desktop-command-not-in-package gapplication [usr/share/applications/org.gnome.Shell.PortalHelper.desktop]
# This is a NoDisplay=true desktop file, so there's no need for it
gnome-shell: desktop-entry-lacks-main-category [usr/share/applications/org.gnome.Shell.desktop]
# Conceptually a program, only built as a shared library for technical reasons
gnome-shell: exit-in-shared-library [usr/lib/gnome-shell/libgnome-shell.so]

1
debian/gnome-shell.maintscript vendored Normal file
View File

@ -0,0 +1 @@
rm_conffile /etc/xdg/autostart/gnome-shell-overrides-migration.desktop 44.3-5~

18
debian/gnome-shell.postinst vendored Normal file
View File

@ -0,0 +1,18 @@
#!/bin/sh
set -e
case "$1" in
configure)
# trigger an update notification that recommends a reboot
# (used by unattended-upgrades etc.)
touch /var/run/reboot-required || true
# same thing for the older update-notifier interface
if [ -x /usr/share/update-notifier/notify-reboot-required ]; then
/usr/share/update-notifier/notify-reboot-required || true
fi
;;
esac
#DEBHELPER#

39
debian/rules vendored
View File

@ -2,7 +2,6 @@
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,-z,defs
DEB_BUILD_OPTIONS=nocheck
%:
dh $@ --with bash_completion
@ -22,18 +21,42 @@ CONFFLAGS += -Dtests=false
endif
override_dh_auto_configure:
GSETTINGS_SCHEMA_DIR=/opt/mutter-vrr/share/glib-2.0/schemas/:$(GSETTINGS_SCHEMA_DIR) PKG_CONFIG_PATH=/opt/mutter-vrr/lib/x86_64-linux-gnu/pkgconfig:$(PKG_CONFIG_PATH) LD_LIBRARY_PATH=/opt/mutter-vrr/lib/x86_64-linux-gnu:/opt/mutter-vrr/lib/x86_64-linux-gnu/mutter-11:/opt/mutter-vrr/lib/x86_64-linux-gnu/mutter-11/plugins:$(LD_LIBRARY_PATH) PATH=/opt/mutter-vrr/bin:$(PATH) dh_auto_configure -- \
--prefix=/opt/mutter-vrr \
--libdir=lib \
dh_auto_configure -- \
--libdir=/usr/lib \
-Dextensions-tool:bash_completion=enabled \
$(CONFFLAGS)
override_dh_makeshlibs:
true
dh_makeshlibs -X/usr/lib/gnome-shell/
override_dh_shlibdeps:
true
# gnome-shell uses mutters private mutter-clutter-1.0.so etc.
dh_shlibdeps -l"usr/lib/$(DEB_HOST_MULTIARCH)/mutter"
# Upstream test timeouts assume an otherwise unloaded system, but that
# isn't necessarily the case for a porterbox or multiple parallel builds.
# Keep the timeout reasonably short for architectures where interactive
# debugging is more likely, but extend it a lot on architectures that might
# be very slow or using qemu for buildds.
ifneq ($(filter amd64 i386,$(DEB_HOST_ARCH_CPU)),)
test_timeout_multiplier = 3
else
test_timeout_multiplier = 20
endif
meson_test_options = --timeout-multiplier $(test_timeout_multiplier)
ifneq ($(filter mips%,$(DEB_HOST_ARCH_CPU)),)
# gnome-shell on mips(64)el works on a real GPU (in practice usually an
# AMD GPU), but crashes when using llvmpipe or softpipe, which is all that
# is available on the buildds, so we only run the unit tests at build time
# and skip the tests that would run the whole Shell. See discussion in
# https://salsa.debian.org/gnome-team/gnome-shell/-/merge_requests/71
meson_test_options += --no-suite shell
endif
override_dh_auto_test:
true
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
env XDG_CACHE_HOME="$(shell mktemp -d -t cache-XXXXXXXX)" \
dbus-run-session xvfb-run -a dh_auto_test -- $(meson_test_options)
endif

7
debian/salsa-ci.yml vendored Normal file
View File

@ -0,0 +1,7 @@
---
include:
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
variables:
RELEASE: 'experimental'

View File

@ -1 +1 @@
3.0 (quilt)
3.0 (native)

14
debian/ubuntu-session-mods/ubuntu.json vendored Normal file
View File

@ -0,0 +1,14 @@
{
"parentMode": "user",
"stylesheetName": "Yaru/gnome-shell.css",
"colorScheme": "prefer-light",
"themeResourceName": "theme/Yaru/gnome-shell-theme.gresource",
"iconsResourceName": "theme/Yaru/gnome-shell-icons.gresource",
"debugFlags": ["backtrace-crashes-all"],
"enabledExtensions": [
"ubuntu-dock@ubuntu.com",
"ubuntu-appindicators@ubuntu.com",
"ding@rastersoft.com",
"tiling-assistant@ubuntu.com"
]
}

View File

@ -1,5 +1,5 @@
Bug-Database: https://gitlab.gnome.org/GNOME/gnome-shell/issues/
Bug-Submit: https://gitlab.gnome.org/GNOME/gnome-shell/issues/new
Bug-Database: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues
Bug-Submit: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/new
Name: GNOME Shell
Repository: https://gitlab.gnome.org/gnome/gnome-shell.git
Repository-Browse: https://gitlab.gnome.org/GNOME/gnome-shell/

2
debian/watch vendored
View File

@ -1,4 +1,4 @@
version=4
opts="searchmode=plain, uversionmangle=s/\.(alpha|beta|rc)/~$1/, downloadurlmangle=s|cache.json||" \
https://download.gnome.org/sources/@PACKAGE@/cache.json \
[\d.]+/@PACKAGE@-([\d.]+)@ARCHIVE_EXT@
[\d.]+/@PACKAGE@-([\d.]+\.?(?:beta|rc)?[\d.]*)@ARCHIVE_EXT@

View File

@ -4,16 +4,16 @@ apt-mark hold pbuilder
apt install gnome-pkg-tools -y
# Clone Upstream
git clone https://gitlab.gnome.org/GNOME/gnome-shell -b 45.0 gnome-shell-vrr
cp -rvf ./debian ./gnome-shell-vrr
cd ./gnome-shell-vrr
git clone https://gitlab.gnome.org/GNOME/gnome-shell -b 45.0 gnome-shell
cp -rvf ./debian ./gnome-shell
cd ./gnome-shell
for i in $(cat ../patches/series) ; do echo "Applying Patch: $i" && patch -Np1 -i ../patches/$i || bash -c "echo "Applying Patch $i Failed!" && exit 2"; done
# Get build deps
apt-get build-dep ./ -y
# Build package
LOGNAME=root dh_make --createorig -y -l -p gnome-shell-vrr_45.0
LOGNAME=root dh_make --createorig -y -l -p gnome-shell_45.0
dpkg-buildpackage --no-sign
# Move the debs to output

View File

@ -0,0 +1,44 @@
From: Daniel van Vugt <daniel.van.vugt@canonical.com>
Date: Tue, 3 Oct 2023 15:00:45 +0800
Subject: layout: Destroy panel barrier on shutdown
It was being leaked, which is detected on mutter shutdown.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3011
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2975>
(cherry picked from commit 4e2dddd18ef27da768f8b0fc2c8e243a3b207f21)
Origin: upstream, after 45.0
---
js/ui/layout.js | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/js/ui/layout.js b/js/ui/layout.js
index 06ed440..95e34f2 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -243,6 +243,7 @@ export const LayoutManager = GObject.registerClass({
}
this._destroyHotCorners();
+ this._destroyPanelBarrier();
this.uiGroup.destroy();
});
@@ -575,11 +576,15 @@ export const LayoutManager = GObject.registerClass({
});
}
- _updatePanelBarrier() {
+ _destroyPanelBarrier() {
if (this._rightPanelBarrier) {
this._rightPanelBarrier.destroy();
this._rightPanelBarrier = null;
}
+ }
+
+ _updatePanelBarrier() {
+ this._destroyPanelBarrier();
if (!this.primaryMonitor)
return;

View File

@ -0,0 +1,74 @@
From: "robert.mader@collabora.com" <robert.mader@collabora.com>
Date: Wed, 27 Sep 2023 01:10:45 +0200
Subject: overview: Handle unredirection in OverviewShown state machine
Under certain unknown circumstances currently not every
`disable_unredirect_for_display()` gets matched with an
`enable_unredirect_for_display()` when closing the overview.
As we only want to not disable unredirection when hidden and we nowadays
have a state machine that ensures we transition to and from one state to
another only once, handle unredirection en-/disablement as part of the
state transition.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2970>
(cherry picked from commit a94fcee9616ef52d0f1d6453515a104d69c6cb92)
Origin: upstream, after 45.0
---
js/ui/overview.js | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/js/ui/overview.js b/js/ui/overview.js
index 66a83cf..2b173a5 100644
--- a/js/ui/overview.js
+++ b/js/ui/overview.js
@@ -305,6 +305,11 @@ export class Overview extends Signals.EventEmitter {
`${this._shownState} to ${state}`);
}
+ if (this._shownState === OverviewShownState.HIDDEN)
+ Meta.disable_unredirect_for_display(global.display);
+ else if (state === OverviewShownState.HIDDEN)
+ Meta.enable_unredirect_for_display(global.display);
+
this._shownState = state;
this.emit(OVERVIEW_SHOWN_TRANSITIONS[state].signal);
}
@@ -411,8 +416,6 @@ export class Overview extends Signals.EventEmitter {
_gestureUpdate(tracker, progress) {
if (!this._shown) {
- Meta.disable_unredirect_for_display(global.display);
-
this._shown = true;
this._visible = true;
this._visibleTarget = true;
@@ -567,8 +570,6 @@ export class Overview extends Signals.EventEmitter {
this._visibleTarget = true;
this._activationTime = GLib.get_monotonic_time() / GLib.USEC_PER_SEC;
- Meta.disable_unredirect_for_display(global.display);
-
Main.layoutManager.overviewGroup.set_child_above_sibling(
this._coverPane, null);
this._coverPane.show();
@@ -636,9 +637,6 @@ export class Overview extends Signals.EventEmitter {
}
_hideDone() {
- // Re-enable unredirection
- Meta.enable_unredirect_for_display(global.display);
-
this._coverPane.hide();
this._visible = false;
@@ -688,8 +686,6 @@ export class Overview extends Signals.EventEmitter {
// the animation because of a race in the xserver where the grab
// fails when requested very early during startup.
- Meta.disable_unredirect_for_display(global.display);
-
this._changeShownState(OverviewShownState.SHOWING);
this._overview.runStartupAnimation(() => {

View File

@ -0,0 +1,26 @@
--- gnome-shell-45.0.orig/js/ui/panel.js
+++ gnome-shell-45.0/js/ui/panel.js
@@ -551,7 +551,6 @@ class QuickSettings extends PanelMenu.Bu
this._powerProfiles = new PowerProfileStatus.Indicator();
this._rfkill = new RFKillStatus.Indicator();
this._autoRotate = new AutoRotateStatus.Indicator();
- this._unsafeMode = new UnsafeModeIndicator();
this._backgroundApps = new BackgroundAppsStatus.Indicator();
// add privacy-related indicators before any external indicators
@@ -575,7 +574,6 @@ class QuickSettings extends PanelMenu.Bu
this._indicators.add_child(this._rfkill);
this._indicators.add_child(this._autoRotate);
this._indicators.add_child(this._volumeOutput);
- this._indicators.add_child(this._unsafeMode);
this._indicators.add_child(this._system);
// add our quick settings items before any external ones
@@ -603,7 +601,6 @@ class QuickSettings extends PanelMenu.Bu
this._addItemsBefore(this._backlight.quickSettingsItems, sibling);
this._addItemsBefore(this._rfkill.quickSettingsItems, sibling);
this._addItemsBefore(this._autoRotate.quickSettingsItems, sibling);
- this._addItemsBefore(this._unsafeMode.quickSettingsItems, sibling);
// append background apps
this._backgroundApps.quickSettingsItems.forEach(

View File

@ -25,3 +25,6 @@ ubuntu/sessionMode-Add-support-for-configuring-an-icons-resource.patch
ubuntu/main-Support-loading-multiple-Yaru-theme-variants.patch
ubuntu/darkMode-Add-support-to-Yaru-theme-color-variants.patch
ubuntu/shell-global-util-Do-not-move-snap-apps-to-gnome-apps-sco.patch
overview-Handle-unredirection-in-OverviewShown-state-mach.patch
layout-Destroy-panel-barrier-on-shutdown.patch
remove-dbus-restrictions-with-pika-gnome-session.patch