diff --git a/install.sh b/install.sh index d271cbd..570050a 100755 --- a/install.sh +++ b/install.sh @@ -43,6 +43,7 @@ StartupNotify=false Path=${args[0]}/venv/bin Exec=coindicator Icon=/tmp/logo_248px.png +X-GNOME-UsesNotifications=true EOL cp ./src/coin/resources/logo_248px.png /tmp diff --git a/requirements.txt b/requirements.txt index c88854c..4bb34f7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ # # pip-compile # -certifi>=2022.12.7 +certifi==2023.5.7 # via # coindicator (setup.py) # requests @@ -12,15 +12,21 @@ chardet==3.0.4 # via coindicator (setup.py) charset-normalizer==3.1.0 # via requests +dbus-next==0.2.3 + # via desktop-notifier +desktop-notifier==3.5.3 + # via coindicator (setup.py) idna==2.10 # via # coindicator (setup.py) # requests -notify2==0.3.1 - # via coindicator (setup.py) +packaging==23.1 + # via desktop-notifier +pycairo==1.24.0 + # via pygobject pygame==2.1.3 # via coindicator (setup.py) -pygobject==3.42.2 +pygobject==3.44.1 # via coindicator (setup.py) pyyaml==6.0 # via coindicator (setup.py) diff --git a/setup.cfg b/setup.cfg index df9b76f..12d4639 100644 --- a/setup.cfg +++ b/setup.cfg @@ -27,12 +27,12 @@ install_requires= certifi>=2022.12.7 chardet~=3.0.4 idna~=2.7 - notify2~=0.3.1 + desktop-notifier~=3.5.3 PyYAML>=4.2b1 requests~=2.20 urllib3~=1.26.5 pygame~=2.1.2 - PyGObject~=3.42.2 + PyGObject~=3.44.1 [options.packages.find] where = diff --git a/src/coin/alarm.py b/src/coin/alarm.py index 1d664ca..80b9e8d 100644 --- a/src/coin/alarm.py +++ b/src/coin/alarm.py @@ -1,6 +1,6 @@ # Lets the user set an alert for a certain price point -import notify2 +import desktop_notifier import pygame from coin.config import Config @@ -67,20 +67,19 @@ def __notify(self, price, direction, threshold): + str(threshold) ) - if notify2.init(self.app_name): - if pygame.init(): - pygame.mixer.music.load( - self.config["project_root"] / "resources/ca-ching.wav" - ) - pygame.mixer.music.play() - logo = GdkPixbuf.Pixbuf.new_from_file( - str(self.config["project_root"] / "resources/icon_32px.png") + if pygame.init(): + pygame.mixer.music.load( + self.config["project_root"] / "resources/ca-ching.wav" ) - - n = notify2.Notification(title, message) - n.set_icon_from_pixbuf(logo) - n.set_urgency(2) # highest - n.show() + pygame.mixer.music.play() + + notifier = desktop_notifier.DesktopNotifier(app_name=self.config["app"]["name"]) + notifier.send_sync( + title, + message, + urgency=desktop_notifier.Urgency.Critical, + icon=str(self.config["project_root"] / "resources/icon_32px.png"), + ) class AlarmSettingsWindow(Gtk.Window): diff --git a/src/coin/coin.py b/src/coin/coin.py index 8cad855..c30a768 100755 --- a/src/coin/coin.py +++ b/src/coin/coin.py @@ -20,7 +20,7 @@ import signal from pathlib import Path -import notify2 +import desktop_notifier import yaml from gi.repository import Gtk @@ -294,15 +294,14 @@ def update_assets(self): self.discoveries = 0 self._load_assets() - if notify2.init(self.config.get("app").get("name")): - n = notify2.Notification( - self.config.get("app").get("name"), - "Finished discovering new assets", - str(self.icon), - ) - n.set_urgency(1) - n.timeout = 2000 - n.show() + notifier = desktop_notifier.DesktopNotifier(app_name=self.config["app"]["name"]) + notifier.send_sync( + self.config.get("app").get("name"), + "Finished discovering new assets", + urgency=desktop_notifier.Urgency.Normal, + timeout=2000, + icon=self.icon, + ) self.main_item.set_icon_full(str(self.icon), "App icon")