diff options
author | Will Thompson <will.thompson@collabora.co.uk> | 2012-03-28 17:06:14 +0800 |
---|---|---|
committer | Will Thompson <will.thompson@collabora.co.uk> | 2012-03-28 17:41:56 +0800 |
commit | 9420ba8ea42efb6d5e1e044d68cc1ba571120314 (patch) | |
tree | 614e0ad06f85e41be03a10bb97ba78bea965d86e | |
parent | 8ec865b790b07375792a3a6f7c485e1cfcb83253 (diff) | |
download | gsoc2013-empathy-9420ba8ea42efb6d5e1e044d68cc1ba571120314.tar.gz gsoc2013-empathy-9420ba8ea42efb6d5e1e044d68cc1ba571120314.tar.zst gsoc2013-empathy-9420ba8ea42efb6d5e1e044d68cc1ba571120314.zip |
Show MUC highlight notifications in Gnome Shell
Gnome Shell filters out notifications from Empathy whose category is
something the Shell shows its own notification for. However, we
previously used the im.received category for notifications about being
highlighted in a MUC, as well as for incoming 1-1 IM notifications. The
Shell filters these out these notifications, because it shows its own
1-1 notifications, but it doesn't show MUC highlight notifications.
So this patch sets a different category on notifications from chat
rooms, which makes them show up in Gnome Shell. I'm prefixing the
category with x-empathy, following the comment above
get_category_for_event_type in empathy-notifications-approver.c.
This shouldn't confuse other notification daemons, unless they were also
filtering out im.received but also showed their own highlight
notifications (which I find unlikely).
https://bugzilla.gnome.org/show_bug.cgi?id=652800
-rw-r--r-- | src/empathy-chat-window.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c index f80f09611..0008fed38 100644 --- a/src/empathy-chat-window.c +++ b/src/empathy-chat-window.c @@ -1568,9 +1568,14 @@ chat_window_show_or_update_notification (EmpathyChatWindow *window, EMPATHY_NOTIFY_MANAGER_CAP_X_CANONICAL_APPEND, "1"); } - notify_notification_set_hint (notification, - EMPATHY_NOTIFY_MANAGER_CAP_CATEGORY, - g_variant_new_string ("im.received")); + { + const gchar *category = empathy_chat_is_room (chat) + ? "x-empathy.im.mentioned" + : "im.received"; + notify_notification_set_hint (notification, + EMPATHY_NOTIFY_MANAGER_CAP_CATEGORY, + g_variant_new_string (category)); + } } pixbuf = empathy_notify_manager_get_pixbuf_for_notification (priv->notify_mgr, |