feat: add system tray (StatusNotifierWatcher / SNI)
Some checks failed
release / build (push) Failing after 3s
Some checks failed
release / build (push) Failing after 3s
Implements org.kde.StatusNotifierWatcher as a D-Bus service so apps like Nextcloud can register their tray icons. Icons are rendered from SNI ARGB pixmaps (falling back to icon-name theme lookup), click calls Activate(0,0), and NameOwnerChanged cleans up ghost icons when an app exits. Styling follows the Bread Design System (4px tertiary radius, xs/sm spacing, opacity transitions). Also fixes a latent infinite-loop risk in osd.rs (.flatten → .map_while) and syncs the notifications server version string to CARGO_PKG_VERSION.
This commit is contained in:
parent
a036737823
commit
44a8d95887
8 changed files with 277 additions and 7 deletions
|
|
@ -35,7 +35,7 @@ fn volume_watcher(tx: mpsc::Sender<OsdEvent>) {
|
|||
let stdout = child.stdout.take().unwrap();
|
||||
let reader = BufReader::new(stdout);
|
||||
|
||||
for line in reader.lines().flatten() {
|
||||
for line in reader.lines().map_while(Result::ok) {
|
||||
if line.contains("'change' on sink") {
|
||||
if let Some(evt) = query_volume() {
|
||||
let _ = tx.blocking_send(evt);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue