commit:     a38a8c4791ffa48c43b264c0a85e2d2cffcb5d4a
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  5 16:17:23 2020 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Sun Apr  5 16:17:23 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a38a8c47

gnome-extra/gnome-shell-extension-gsconnect: Upstream fix to limit sent 
notifications

Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 ...xtension-gsconnect-33-notifications-limit.patch | 39 ++++++++++++
 .../gnome-shell-extension-gsconnect-33-r1.ebuild   | 69 ++++++++++++++++++++++
 2 files changed, 108 insertions(+)

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
index 00000000000..8c2846c5ecb
--- /dev/null
+++ 
b/gnome-extra/gnome-shell-extension-gsconnect/files/gnome-shell-extension-gsconnect-33-notifications-limit.patch
@@ -0,0 +1,39 @@
+From 641ccb70724f8967439495e2356b2d7a654053cf Mon Sep 17 00:00:00 2001
+From: Andy Holmes <[email protected]>
+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 <[email protected]>
+---
+ 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
index 00000000000..680156b1810
--- /dev/null
+++ 
b/gnome-extra/gnome-shell-extension-gsconnect/gnome-shell-extension-gsconnect-33-r1.ebuild
@@ -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
+}

Reply via email to