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 <noreply@anthropic.com>
main
Amir Alexander Abdelbaki 2026-07-22 17:59:01 +02:00
parent e5d58622fe
commit 78971fd9d8
2 changed files with 19 additions and 0 deletions

View File

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

View File

@ -29,6 +29,13 @@ config xfce4
# ── intentionally not managed here ─────────────────────────────────────────── # ── intentionally not managed here ───────────────────────────────────────────
ignore config-updater # the updater itself ignore config-updater # the updater itself
ignore dunst # superseded by beacon (the Cosmonaut Shell notif daemon) 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 CRT # referenced from dotfiles path directly in binds.conf
ignore greetd-tuigreet # deployed to /etc/greetd/ at install time ignore greetd-tuigreet # deployed to /etc/greetd/ at install time
ignore spicetify # managed separately (spicetify handles its own config) ignore spicetify # managed separately (spicetify handles its own config)