aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2012-03-28 17:06:14 +0800
committerWill Thompson <will.thompson@collabora.co.uk>2012-03-28 17:41:56 +0800
commit9420ba8ea42efb6d5e1e044d68cc1ba571120314 (patch)
tree614e0ad06f85e41be03a10bb97ba78bea965d86e
parent8ec865b790b07375792a3a6f7c485e1cfcb83253 (diff)
downloadgsoc2013-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.c11
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,