git.lucas.co / cce-notifier
notification daemon
git clone https://git.lucas.co/cce-notifier.git

commit7ac816b1a9ec2331dd89490f56762e64918dd149
parentc479a05d73
authorLucas Galante <lsgalante12@gmail.com>
date2026-09-25 16:28
fix: the notifier waits for the next compositor instead of exiting

A systemd user service the compositor does not restore, like the status
bar: rebuilt against cce-ui 2724002 it exited at every logout, taking
org.freedesktop.Notifications off the bus until systemd restarted it.
It now opts into cce-ui's outlives_compositor and rejoins the successor.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

 src/main.rs | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/main.rs b/src/main.rs
index 34d2aba..9daddf1 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -418,6 +418,13 @@ impl NotifierApp {
 impl Application for NotifierApp {
     type Message = UserEvent;
 
+    /// A systemd user service the compositor does not restore: it waits for
+    /// the next compositor rather than exiting, so org.freedesktop.Notifications
+    /// stays owned across a logout or a compositor restart.
+    fn outlives_compositor(&self) -> bool {
+        true
+    }
+
     fn new(_qh: &QueueHandle<EngineState<Self>>, sender: calloop::channel::Sender<Self::Message>) -> Self {
         Self {
             seen_renderer: false,