--- src/evolution-indicator.c.orig 2011-05-06 18:04:31.000000000 +0200 +++ src/evolution-indicator.c 2011-05-06 22:23:59.560215615 +0200 @@ -254,10 +254,14 @@ for (i = indicators; i; i = i->next) { IndicateIndicator *indi = i->data; + const char *indi_url = indicate_indicator_get_property (indi, "url"); if (g_strstr_len (t->uri, -1, - indicate_indicator_get_property (indi, "url"))) + indi_url) + || (! strcmp (indi_url, "pop:") + && g_str_has_prefix (t->uri, "mbox:") + && g_str_has_suffix (t->uri, "/local#Inbox"))) { indicator = indi; break; @@ -319,8 +323,11 @@ } } + // FIXME: detect that condition properly, or just implement it in notify-osd! + gboolean uses_unfinished_notify_osd = TRUE; + /* Check if we need to play the sound differently */ - if (!show_bubble && play_sound) + if ((!show_bubble || uses_unfinished_notify_osd) && play_sound) { gint ret;