Element (the Matrix client) lets you set a custom notification sound per room through the UI, but there is no built-in option to change it globally.
But fear not, it is still possible. You just need to follow a carefully curated insane clickpath throught the depths of the UI and developer tools. This is how it's done.
Steps
-
Set a notification sound in a single room. This can be any room, even one where only you are in.
-
Open devtools, by typing
/devtoolsin the message input of that room. -
Click
Explore Account Data, then click the redAccount Databutton. -
Click
im.vector.web.settingsto find the sound entry. You should see anotificationSoundblock that looks something like this:"notificationSound": { "name": "your-sound-name.ogg", "type": "audio/ogg", "size": 12345, "url": "mxc://your-homeserver/some-content-id" },This all was just to get the sound uploaded to Matrix servers and to get the correct
notificationSoundblock. Copy it. We will now use set this code snippet in the global configuration of your account. -
Go back and switch to account data. Click
Back, then click the greenAccount Databutton. -
Click
im.vector.web.settings, then clickEdit(you may have to scroll down). -
Paste the
notificationSoundsnippet you copied earlier into the JSON object. It can be anywhere in the toplevel object, but make sure to set commas correctly and end up with valid JSON. -
Save by clicking
Send.
After this, Element should use your custom notification sound globally across all rooms. I recommend the MSN or ICQ sounds for ultimate nostalgia.