From 91b84d1f1bfbc5de2eb140a48185a5252b1b592e Mon Sep 17 00:00:00 2001 From: cashmere Date: Wed, 29 Jul 2026 12:00:28 +0200 Subject: tray: register as StatusNotifierHost so libappindicator and Electron clients register --- src/tray.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/tray.rs') diff --git a/src/tray.rs b/src/tray.rs index 1caeb3a..b0e1b74 100644 --- a/src/tray.rs +++ b/src/tray.rs @@ -274,6 +274,18 @@ async fn run( let dbus = zbus::fdo::DBusProxy::new(&conn).await?; + let host_name = format!("org.kde.StatusNotifierHost-i3bar-mango-{}", std::process::id()); + let watcher_proxy = zbus::Proxy::new( + &conn, + "org.kde.StatusNotifierWatcher", + "/StatusNotifierWatcher", + "org.kde.StatusNotifierWatcher", + ) + .await?; + watcher_proxy + .call::<_, _, ()>("RegisterStatusNotifierHost", &host_name) + .await?; + let owner_stream = dbus.receive_name_owner_changed().await?; let tx = events_tx.clone(); conn.executor() -- cgit v1.3.1