From 26653d3cb8d2a9b19133a8c2bc981a669a3f81bd Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 19 Oct 2026 09:53:54 +0200 Subject: docs: notification sounds Co-Authored-By: Claude Opus 5.5 --- desktop/modules/notifications/README.md | 7 +++++++ notifications/README.md | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/desktop/modules/notifications/README.md b/desktop/modules/notifications/README.md index c3b2e9d..12d916c 100644 --- a/desktop/modules/notifications/README.md +++ b/desktop/modules/notifications/README.md @@ -7,6 +7,8 @@ and the balloon shell: | --- | --- | | `timeouts`, `liveCap`, `historyCap` | notifyd, at start and on `notifyctl reload` | | `balloons`, `dndPassCritical`, `muted` | both shells, through `Notify.config` | +| `sounds` | the balloon shell, which plays them | +| `soundTheme` | notifyd, for apps' `sound-name` hints; the page mirrors it to gsettings | `shared/NotifyConfig.js` resolves the file over its defaults and holds the mute/DND decision. Check: `node shared/test_notify_config.js`. @@ -15,4 +17,9 @@ Save writes the file with `cat` (unknown keys kept) then runs `notifyctl reload`. If notifyd is not running the file is still written and the page says so; the daemon reads it when it starts. +The page reads `gsettings` (`org.gnome.desktop.sound theme-name`) on every +open and flags a mismatch with the draft's theme, with a button to adopt it. +Save also sets that gsettings key. The save script's exit codes: 1 the write, +3 the gsettings set, 2 the reload. + Snooze is not here: the status tile has it. diff --git a/notifications/README.md b/notifications/README.md index f80c79e..19ad41f 100644 --- a/notifications/README.md +++ b/notifications/README.md @@ -15,6 +15,15 @@ every live notification anyway. Placement, mute and the DND rule come from `~/.config/notifyd/config.json`, edited from the settings window (Desktop → Notifications). +## Sounds + +Played with `pw-play`, once per new or replaced notification, and only when +its balloon would show: the drawer, snooze, mute and DND that withhold the +balloon silence it too. Precedence: `silent` (the app's suppress-sound), then +the app's own `sound`, then `sounds[urgency]` from the config. A restart +records the queue without playing it. There is one player, so a new sound cuts +the last. + ## The files are the interface $XDG_RUNTIME_DIR/notifyd/queue.json the live queue -- cgit v1.2.3