diff options
Diffstat (limited to 'main/src/ui/notifications.vala')
-rw-r--r-- | main/src/ui/notifications.vala | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/main/src/ui/notifications.vala b/main/src/ui/notifications.vala index 246452ea..2eb144e4 100644 --- a/main/src/ui/notifications.vala +++ b/main/src/ui/notifications.vala @@ -14,11 +14,14 @@ public class Notifications : Object { private HashMap<Conversation, Notification> notifications = new HashMap<Conversation, Notification>(Conversation.hash_func, Conversation.equals_func); private Set<string>? active_conversation_ids = null; private Set<string>? active_ids = new HashSet<string>(); + private Canberra.Context sound_context; public Notifications(StreamInteractor stream_interactor, Gtk.Window window) { this.stream_interactor = stream_interactor; this.window = window; + Canberra.Context.create(out sound_context); + stream_interactor.get_module(ChatInteraction.IDENTITY).focused_in.connect((focused_conversation) => { if (active_conversation_ids == null) { Gee.List<Conversation> conversations = stream_interactor.get_module(ConversationManager.IDENTITY).get_active_conversations(); @@ -68,6 +71,11 @@ public class Notifications : Object { active_conversation_ids.add(conversation.id.to_string()); window.urgency_hint = true; } + if (conversation.get_sound_setting(stream_interactor)) { + sound_context.play (0, + Canberra.PROP_EVENT_ID, "message-new-instant", + Canberra.PROP_EVENT_DESCRIPTION, "New Dino message"); + } } private void on_received_subscription_request(Jid jid, Account account) { |