diff --git a/.gitignore b/.gitignore index e36f46f..a15940e 100644 --- a/.gitignore +++ b/.gitignore @@ -146,3 +146,4 @@ /gnome-shell-extensions-40.0.tar.xz /gnome-shell-extensions-40.1.tar.xz /gnome-shell-extensions-40.2.tar.xz +/gnome-shell-extensions-40.3.tar.xz diff --git a/backport-drive-menu-fix.patch b/backport-drive-menu-fix.patch new file mode 100644 index 0000000..15b6f89 --- /dev/null +++ b/backport-drive-menu-fix.patch @@ -0,0 +1,76 @@ +From cc021589b848077811b592bbe2d23a60525a85bf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Tue, 13 Jul 2021 11:40:31 +0200 +Subject: [PATCH 1/2] drive-menu: Fix indicator visibility + +Commit 519269be9d made the check for network mounts non-blocking, and +we now update the indicator's visibility before a newly-added network +mount is hidden. + +Address this by monitoring the item itself for visibility changes. + +Part-of: +--- + extensions/drive-menu/extension.js | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/extensions/drive-menu/extension.js b/extensions/drive-menu/extension.js +index 3fac2360..6c6fd763 100644 +--- a/extensions/drive-menu/extension.js ++++ b/extensions/drive-menu/extension.js +@@ -189,6 +189,8 @@ class DriveMenu extends PanelMenu.Button { + let item = new MountMenuItem(mount); + this._mounts.unshift(item); + this.menu.addMenuItem(item, 0); ++ ++ item.connect('notify::visible', () => this._updateMenuVisibility()); + } + + _removeMount(mount) { +-- +2.31.1 + + +From 15c83db79379532b72df1989463fc102a90fdfc2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Tue, 13 Jul 2021 11:54:21 +0200 +Subject: [PATCH 2/2] drive-menu: Hide items initially + +Now that the check for network mounts is non-blocking, the initial +sync doesn't take effect immediately. We don't want hidden items +to briefly flash the indicator, so create them initially hidden. + +Part-of: +--- + extensions/drive-menu/extension.js | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/extensions/drive-menu/extension.js b/extensions/drive-menu/extension.js +index 6c6fd763..f60dab75 100644 +--- a/extensions/drive-menu/extension.js ++++ b/extensions/drive-menu/extension.js +@@ -41,6 +41,8 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem { + ejectButton.connect('clicked', this._eject.bind(this)); + this.add(ejectButton); + ++ this.hide(); ++ + this._changedId = mount.connect('changed', this._syncVisibility.bind(this)); + this._syncVisibility(); + } +@@ -155,10 +157,8 @@ class DriveMenu extends PanelMenu.Button { + this.add_child(icon); + + this._monitor = Gio.VolumeMonitor.get(); +- this._addedId = this._monitor.connect('mount-added', (monitor, mount) => { +- this._addMount(mount); +- this._updateMenuVisibility(); +- }); ++ this._addedId = this._monitor.connect('mount-added', ++ (monitor, mount) => this._addMount(mount)); + this._removedId = this._monitor.connect('mount-removed', (monitor, mount) => { + this._removeMount(mount); + this._updateMenuVisibility(); +-- +2.31.1 + diff --git a/gnome-shell-extensions.spec b/gnome-shell-extensions.spec index 8ba7046..bb72c65 100644 --- a/gnome-shell-extensions.spec +++ b/gnome-shell-extensions.spec @@ -6,7 +6,7 @@ %global tarball_version %%(echo %{version} | tr '~' '.') Name: gnome-shell-extensions -Version: 40.2 +Version: 40.3 Release: 1%{?dist} Summary: Modify and extend GNOME Shell functionality and behavior @@ -29,6 +29,7 @@ Patch006: 0001-Include-top-icons-in-classic-session.patch Patch007: 0001-desktop-icons-Update-Japanese-translation.patch Patch008: desktop-icons-40-fixes.patch Patch009: 0001-top-icons-Don-t-use-wm_class-as-role.patch +Patch010: backport-drive-menu-fix.patch %description GNOME Shell Extensions is a collection of extensions providing additional and @@ -349,6 +350,10 @@ workspaces. %changelog +* Mon Jul 19 2021 Florian Müllner - 40.3-1 +- Update to 40.3 + Resolves: #1983551 + * Tue Jun 15 2021 Florian Müllner - 40.2-1 - Update to 40.2 Resolves: #1971431 diff --git a/sources b/sources index 1550b93..896c497 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-shell-extensions-40.2.tar.xz) = f02a02a8410e77e8c8b0a764bb7949727974e9a4c0125ac2b6e68c1b20b663ef2de82ddaaed882dd5ffb3a6fd9898b372b6201d53da33f11677c32e82272d2aa +SHA512 (gnome-shell-extensions-40.3.tar.xz) = 3773b0a5ec81b6663a3b2c5f5d1f8e7619fdba49ce67b25ee0f5555d17ea7c9740c3698b7a4e4f7fa78241c8738663c602cb5ed1ff9874b8ad2321fec0dbc737