-
Notifications
You must be signed in to change notification settings - Fork 49
Description
Summary
The Sound combo box in Settings (Default / None / Subtle) saves and restores correctly, but the selected value is never applied when building toast notifications. Every notification always fires with the system default sound regardless of user preference.
Root cause
SettingsData.NotificationSound is read and written by SettingsWindow.xaml.cs, but none of the ~14 ToastContentBuilder call sites in App.xaml.cs check it. The setting is essentially a no-op.
Relevant code:
- SettingsWindow.xaml.cs lines 46–57, 81–83: reads/writes
NotificationSoundcorrectly. - App.xaml.cs:
new ToastContentBuilder()is called at lines 571, 600, 657, 674, 1160, 1179, 1187, 1203, 1379, 1416, 1501, 1515, 1526, 1752 — none call.AddAudio().
Proposed fix
Add a helper that translates NotificationSound to a ToastAudio / silent flag:
private void ApplyNotificationSound(ToastContentBuilder builder)
{
switch (_settings.NotificationSound)
{
case "None":
builder.AddAudio(silent: true);
break;
case "Subtle":
builder.AddAudio(new Uri("ms-winsoundevent:Notification.IM"));
break;
// "Default": no-op — use system default
}
}Then call ApplyNotificationSound(builder) before .Show() at every toast site.
Additional context
The same pattern exists in OpenClaw.Tray.WinUI. The setting was originally discovered as dead code in this comment.
This is a good first issue — straightforward mechanical change, no logic involved, easy to test by changing the setting and sending a test notification.
Generated by Repo Assist · ◷
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/repo-assist.md@cbb46ab386962aa371045839fc9998ee4e97ca64