gnome-extra/gnome-shell-extension-gsconnect: Upstream fix to limit sent notifications
authorPacho Ramos <pacho@gentoo.org>
Sun, 5 Apr 2020 16:17:23 +0000 (18:17 +0200)
committerPacho Ramos <pacho@gentoo.org>
Sun, 5 Apr 2020 16:17:23 +0000 (18:17 +0200)
Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Pacho Ramos <pacho@gentoo.org>
gnome-extra/gnome-shell-extension-gsconnect/files/gnome-shell-extension-gsconnect-33-notifications-limit.patch [new file with mode: 0644]
gnome-extra/gnome-shell-extension-gsconnect/gnome-shell-extension-gsconnect-33-r1.ebuild [new file with mode: 0644]

diff --git a/gnome-extra/gnome-shell-extension-gsconnect/files/gnome-shell-extension-gsconnect-33-notifications-limit.patch b/gnome-extra/gnome-shell-extension-gsconnect/files/gnome-shell-extension-gsconnect-33-notifications-limit.patch
new file mode 100644 (file)
index 0000000..8c2846c
--- /dev/null
@@ -0,0 +1,39 @@
+From 641ccb70724f8967439495e2356b2d7a654053cf Mon Sep 17 00:00:00 2001
+From: Andy Holmes <andrew.g.r.holmes@gmail.com>
+Date: Sat, 4 Apr 2020 17:37:41 -0700
+Subject: [PATCH] Shell Notifications: set a limit of 10 notifications from
+ GSConnect
+
+Re-apply the notification limit from GSConnect, set to 10. This should
+stop notifications from growing indefinitely, with the consequence that
+the notifications that end up in the message tray is non-deterministic.
+
+cc #364
+
+Backported to v33 <pacho@gentoo.org>
+---
+ src/shell/notification.js | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/shell/notification.js b/src/shell/notification.js
+index dc93de955..f345cdde9 100644
+--- a/src/shell/notification.js
++++ b/src/shell/notification.js
+@@ -246,13 +246,16 @@
+     }
+     /**
+-     * Override to lift the usual notification limit (3)
++     * Override to raise the usual notification limit (3)
+      * See: https://gitlab.gnome.org/GNOME/gnome-shell/blob/master/js/ui/messageTray.js#L773-L786
+      */
+     pushNotification(notification) {
+         if (this.notifications.includes(notification))
+             return;
++        while (this.notifications.length >= 10)
++            this.notifications.shift().destroy(MessageTray.NotificationDestroyedReason.EXPIRED);
++
+         notification.connect('destroy', this._onNotificationDestroy.bind(this));
+         notification.connect('acknowledged-changed', this.countUpdated.bind(this));
+         this.notifications.push(notification);
diff --git a/gnome-extra/gnome-shell-extension-gsconnect/gnome-shell-extension-gsconnect-33-r1.ebuild b/gnome-extra/gnome-shell-extension-gsconnect/gnome-shell-extension-gsconnect-33-r1.ebuild
new file mode 100644 (file)
index 0000000..680156b
--- /dev/null
@@ -0,0 +1,69 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome2-utils meson readme.gentoo-r1
+
+DESCRIPTION="KDE Connect implementation for Gnome Shell"
+HOMEPAGE="https://github.com/andyholmes/gnome-shell-extension-gsconnect"
+SRC_URI="https://github.com/andyholmes/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="nautilus"
+
+COMMON_DEPEND="dev-libs/glib:2"
+RDEPEND="${COMMON_DEPEND}
+       app-eselect/eselect-gnome-shell-extensions
+       >=dev-libs/gjs-1.48
+       =gnome-base/gnome-shell-3.34*
+       gnome-base/gvfs
+       gnome-extra/evolution-data-server
+       || ( media-libs/libcanberra media-libs/gsound )
+       nautilus? (
+               dev-python/nautilus-python
+               gnome-base/nautilus[introspection] )
+"
+DEPEND="${COMMON_DEPEND}"
+BDEPEND="
+       virtual/pkgconfig
+"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="For knowing more about how to do the setup, please visit:
+https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki/Installation"
+
+PATCHES=(
+       # Shell Notifications: set a limit of 10 notifications from GSConnect
+       "${FILESDIR}/${P}-notifications-limit.patch"
+)
+
+src_configure() {
+       # nemo support relies on nemo-python from https://github.com/linuxmint/nemo-extensions
+       # https://bugs.gentoo.org/694388
+       meson_src_configure \
+               -Dnemo=false \
+               $(meson_use nautilus)
+}
+
+src_install() {
+       meson_src_install
+       readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+       gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+       gnome2_schemas_update
+       ebegin "Updating list of installed extensions"
+       eselect gnome-shell-extensions update
+       eend $?
+       readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+       gnome2_schemas_update
+}