Back to plugins
v1.0.0 Nilsonlinux
About
Contact Notification Sounds
Plays a unique sound per person on your notifications.
Configure a map of contact names to sound files in Settings → Plugins. When any notification arrives, the plugin checks its app name, title and body for your contacts' names (case-insensitive by default) and plays the assigned sound for the first contact matched.
Plugin
| Field | Value |
|---|---|
| ID | nilsonlinux/contact-sounds |
| Entries | Service: monitor; Panel: Panel; Shortcut: sounds; Bar widget: contact-sounds-widget |
Features
- Unique notification sounds per contact — you always know who messaged you before looking.
- Panel of contacts — open it from the control-center tile or the bar bell icon: play each sound, add a contact by name + sound path, edit an existing entry, or delete a contact (with an inline confirmation).
- App filter — optionally restrict matching to specific notification apps (e.g. Telegram, Discord) so browser spam never matches.
- OGG or MP3 — any local
.oggor.mp3file with an absolute path. - Hide the bar icon — toggle
show_widgetoff to remove the bell from the bar.
How it works
service.luaurunsscripts/monitor.sh, adbus-monitorpipeline that watches theorg.freedesktop.Notificationssession interface and forwards everyNotify()call asapp \x1e title \x1e body.- The service matches contact names in that text and plays the sound through
Noctalia's audio system (
noctalia.sound), honoring its volume and DND state. - Exclusive sound: the service also keeps
~/.config/noctalia/contact-sounds.tomlin sync with a[notification.filter.contact-sounds]rule (play_sound = false) whose regex matches the configured contact names. This silences Noctalia's system notification sound for exactly those messages, so only the contact's OGG plays. Notifications that mention nobody keep their normal system sound. panel.luaureads the same config to list contacts and test sounds.shortcut.luauadds a control-center tile that opens the panel.
Open the panel directly with:
noctalia msg panel-toggle nilsonlinux/contact-sounds:Panel
Requirements
dbus-monitor,gawkandpython3(all usually present on Arch/Debian).
Usage
- Open Settings → Plugins → Contact Notification Sounds.
- Add a contact under
contacts: the name exactly as it appears in a notification, and the absolute path to a local.oggor.mp3file. - Click the bar bell (or the control-center tile) to open the panel — play, add, edit or delete contacts from there.
Example:
"Maria Souza" = "/home/you/Documents/Sounds/maria.ogg"
"João Carlos" = "/home/you/Documents/Sounds/joao.ogg"
Settings
| Setting | Type | Default | Description |
|---|---|---|---|
contacts |
string_map |
{} |
"Person Name" = "/path/to/sound.{ogg,mp3}" |
show_widget |
bool |
true |
Show the bell icon in the bar. |
match_case_sensitive |
bool |
false |
Match names with exact capitalization. |
only_apps |
string_list |
[] |
App-name allow-list; empty = all apps. |
glyph (widget) |
glyph |
bell-ringing |
Icon shown in the bar for the bell widget. |
Notes
Notification text and panel labels come from translations/<locale>.json
(English and pt-BR included). The panel's Add/Delete controls edit the
same contacts map (via scripts/edit_contacts.sh, which writes Noctalia's
settings.toml).
Sound files are played at the Noctalia audio volume.
License
MIT
Versions
| Version | Plugin API | Updated |
|---|---|---|
| v1.0.0 latest | 20 | Sep 12, 2026 |
Older versions stay installable on a Noctalia release whose plugin API is below the latest version's.