GNOME Bugzilla – Bug 635952
[PATCH] Should use append hint for notifications
Last modified: 2011-02-14 13:56:55 UTC
Per https://bugs.launchpad.net/notify-osd/+bug/334809, the notify-osd plugin should provide the "append" hint on notification bubbles. Otherwise, multiple messages end up getting queued, and (for a sufficiently large number of notifications) can take a LONG time to fade. Patch attached.
Created attachment 175384 [details] [review] "append" hint for notifications
Created attachment 178039 [details] [review] proposed patch let me know, if the attached patch helps.
My patch worked, yours doesn't. notify_manager_has_capability ("x-canonical-append") keeps returning false. Commenting out the "if" around your "notify_notification_set_hint_string" call makes append work as my original did.
A little debugging with g_list_foreach says notify_get_server_caps is returning "x-canonical-append": void print_cap(gpointer data, gpointer user_data) { fprintf(stderr, "cap: \"%s\"\n", data); } static gboolean notify_manager_has_capability (const gchar *cap) { gboolean ret; GList *list = NULL; fprintf(stderr, "Asked for cap: %s\n", cap); list = notify_get_server_caps (); ret = ( g_list_find ( list, cap) != NULL ); g_list_foreach(list, print_cap, NULL); g_list_free_full ( list, g_free); fprintf(stderr, "Got: %s\n", ret ? "true" : "false"); return ret; } yields: Asked for cap: x-canonical-append cap: "body" cap: "body-markup" cap: "icon-static" cap: "image/svg+xml" cap: "x-canonical-private-synchronous" cap: "x-canonical-append" cap: "x-canonical-private-icon-only" cap: "x-canonical-truncation" cap: "private-synchronous" cap: "append" cap: "private-icon-only" cap: "truncation" Got: false
Created attachment 178501 [details] [review] proposed patch use g_list_find_custom .
Review of attachment 178501 [details] [review]: Works for me
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.
Review of attachment 178501 [details] [review]: tested, and works.