# notifications (settings page) Edits `~/.config/notifyd/config.json`, the one file behind both the daemon and the balloon shell: | key | read by | | --- | --- | | `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`. 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.