From 47c2469aeb0e8f3ed40b995a560ab95ca1eb1074 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 19 Oct 2026 09:53:00 +0200 Subject: feat(notify): publish each notification's sound and suppress-sound The sound-name lookup uses config.json's soundTheme, default freedesktop. The quickshell settings page mirrors that key to gsettings; the daemon only reads the file. Co-Authored-By: Claude Opus 5.5 --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 7a4c026..17e2e88 100644 --- a/README.md +++ b/README.md @@ -39,13 +39,20 @@ is optional and the defaults are the behaviour without the file: { "timeouts": { "low": 10, "normal": 10, "critical": 0 }, "liveCap": 20, - "historyCap": 20 + "historyCap": 20, + "soundTheme": "freedesktop" } Timeouts are seconds up to a day (86400), 0 is never, and apply only when a client sends `expire_timeout -1`. Caps clamp to 1..100; a lowered cap applies at the next notification. A broken file is logged and read as the defaults. +`soundTheme` is the freedesktop sound theme an app's `sound-name` hint is +looked up in (then its `Inherits`, then `freedesktop`). The daemon publishes +each notification's resolved `sound` (a path, or `""`) and `silent` (the +app's `suppress-sound`); a `sound-file` hint wins over `sound-name` when it +is an absolute path to an existing file. Playing is the renderer's job. + The daemon reads it at start and on `notifyctl reload`. The quickshell settings page writes it; the same file carries the balloon shell's keys (`balloons`, `dndPassCritical`, `muted`), which the daemon ignores. -- cgit v1.2.3