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@gentoo.org>
This commit is contained in:
Pacho Ramos
2020-04-05 18:17:23 +02:00
parent b63a9350dc
commit a38a8c4791
2 changed files with 108 additions and 0 deletions

View File

@@ -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);

View File

@@ -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
}