Use persitance with libnotify

This will keep notifications in gnomes tray
similar to a tray icon.
This commit is contained in:
TingPing 2014-02-05 01:00:06 -05:00
parent 4c1fd3ee67
commit e64aa93f85

View File

@ -181,6 +181,7 @@ fe_tray_set_balloon (const char *title, const char *text)
#ifdef USE_LIBNOTIFY #ifdef USE_LIBNOTIFY
static int notify_text_strip_flags = STRIP_ALL; static int notify_text_strip_flags = STRIP_ALL;
static gboolean notify_persistant = FALSE;
NotifyNotification *notification; NotifyNotification *notification;
char *notify_text, *notify_title; char *notify_text, *notify_title;
@ -193,6 +194,10 @@ fe_tray_set_balloon (const char *title, const char *text)
{ {
notify_text_strip_flags |= STRIP_ESCMARKUP; notify_text_strip_flags |= STRIP_ESCMARKUP;
} }
if (g_list_find_custom (server_caps, "persistance", (GCompareFunc)strcmp))
{
notify_persistant = TRUE;
}
g_list_free_full (server_caps, g_free); g_list_free_full (server_caps, g_free);
} }
@ -203,6 +208,9 @@ fe_tray_set_balloon (const char *title, const char *text)
#if NOTIFY_CHECK_VERSION(0,7,0) #if NOTIFY_CHECK_VERSION(0,7,0)
notify_notification_set_hint (notification, "desktop-entry", g_variant_new_string ("hexchat")); notify_notification_set_hint (notification, "desktop-entry", g_variant_new_string ("hexchat"));
if (notify_persistant && !prefs.hex_gui_tray)
notify_notification_set_hint (notification, "persistant", g_variant_new_boolean (TRUE));
#endif #endif
g_free ((char *)notify_title); g_free ((char *)notify_title);