From 78971fd9d893ec78e3c3e81706db59d7050db3f5 Mon Sep 17 00:00:00 2001 From: The_miro Date: Wed, 22 Jul 2026 17:59:01 +0200 Subject: [PATCH] hyprdrive: route notification D-Bus activation to beacon, not dunst The dunst package ships org.knopwob.dunst.service with Name=org.freedesktop.Notifications, so D-Bus auto-activates dunst the moment any app posts a notification, beating beacon to the name (beacon then exits on name-lost). Shadow it with a user-level activation file that Execs beacon-start.sh; ~/.local/share/dbus-1/services takes precedence over /usr/share. Documented the install-time deploy in updater.conf. Co-Authored-By: Claude Opus 4.8 --- .../dbus/org.freedesktop.Notifications.service | 12 ++++++++++++ desktopenvs/hyprdrive/config-updater/updater.conf | 7 +++++++ 2 files changed, 19 insertions(+) create mode 100644 desktopenvs/hyprdrive/beacon/dbus/org.freedesktop.Notifications.service diff --git a/desktopenvs/hyprdrive/beacon/dbus/org.freedesktop.Notifications.service b/desktopenvs/hyprdrive/beacon/dbus/org.freedesktop.Notifications.service new file mode 100644 index 0000000..af715fc --- /dev/null +++ b/desktopenvs/hyprdrive/beacon/dbus/org.freedesktop.Notifications.service @@ -0,0 +1,12 @@ +[D-BUS Service] +# Route D-Bus activation of the freedesktop notification name to beacon instead +# of dunst. The dunst package ships /usr/share/dbus-1/services/org.knopwob.dunst.service +# which also claims Name=org.freedesktop.Notifications, so without this file D-Bus +# auto-activates dunst the moment any app posts a notification and dunst grabs the +# name before beacon can (beacon then exits on name-lost — see beacon/main.py). +# A service file in ~/.local/share/dbus-1/services/ takes precedence over /usr/share, +# so this wins the name resolution for org.freedesktop.Notifications. +# +# Deployed to ~/.local/share/dbus-1/services/ at install time (see updater.conf). +Name=org.freedesktop.Notifications +Exec=/home/themiro/Dotfiles/desktopenvs/hyprdrive/scripts/beacon-start.sh diff --git a/desktopenvs/hyprdrive/config-updater/updater.conf b/desktopenvs/hyprdrive/config-updater/updater.conf index 6fa7914..b4bf963 100644 --- a/desktopenvs/hyprdrive/config-updater/updater.conf +++ b/desktopenvs/hyprdrive/config-updater/updater.conf @@ -29,6 +29,13 @@ config xfce4 # ── intentionally not managed here ─────────────────────────────────────────── ignore config-updater # the updater itself ignore dunst # superseded by beacon (the Cosmonaut Shell notif daemon) + # NOTE: the dunst package still ships a D-Bus activation file + # (org.knopwob.dunst.service, Name=org.freedesktop.Notifications). + # Shadow it so D-Bus activates beacon, not dunst, by deploying + # beacon/dbus/ at install time: + # mkdir -p ~/.local/share/dbus-1/services + # cp ~/Dotfiles/desktopenvs/hyprdrive/beacon/dbus/*.service \ + # ~/.local/share/dbus-1/services/ ignore CRT # referenced from dotfiles path directly in binds.conf ignore greetd-tuigreet # deployed to /etc/greetd/ at install time ignore spicetify # managed separately (spicetify handles its own config)