Patch by ThomasThurman to display the text and author of an incoming tweet in the notification bubble.

diff -u twitux-ORIGINAL/src/twitux-app.c twitux-0.62/src/twitux-app.c
--- twitux-ORIGINAL/src/twitux-app.c    2008-04-29 14:35:43.000000000 -0400
+++ twitux-0.62/src/twitux-app.c        2009-01-15 16:06:18.000000000 -0500
@@ -1059,11 +1059,9 @@
 }
 
 void
-twitux_app_show_notification (gint tweets)
+twitux_app_show_notification (gchar *msg)
 {
        TwituxAppPriv   *priv;
-       gchar                   *msg;
-       gchar                   *s;
        gboolean                 notify;
 
        priv = GET_PRIV (app);
@@ -1076,14 +1074,6 @@
        if (!notify || !gtk_status_icon_is_embedded (priv->status_icon))
                return;
 
-       if (tweets > 1) {
-               s = _("tweets");
-       } else {
-               s = _("tweet");
-       }
-
-       msg = g_strdup_printf (_("You have %i new %s."), tweets, s);
-
        if (priv->notification!= NULL) {
                notify_notification_close (priv->notification, NULL);
        }
@@ -1098,8 +1088,6 @@
 
        notify_notification_set_timeout (priv->notification, 3000);
        notify_notification_show (priv->notification, NULL);
-       
-       g_free (msg);
 }
 
 void
diff -u twitux-ORIGINAL/src/twitux-app.h twitux-0.62/src/twitux-app.h
--- twitux-ORIGINAL/src/twitux-app.h    2008-04-20 15:48:08.000000000 -0400
+++ twitux-0.62/src/twitux-app.h        2009-01-15 01:37:15.000000000 -0500
@@ -64,7 +64,7 @@
 void                           twitux_app_set_statusbar_msg            (gchar        *message);
 void                           twitux_app_set_friends                  (GList        *friends);
 void                           twitux_app_add_friend                   (TwituxUser   *user);
-void                           twitux_app_show_notification                    (gint              tweets);
+void                           twitux_app_show_notification                    (gchar        *msg);
 
 void                twitux_app_state_on_connection          (gboolean      connected);
 
diff -u twitux-ORIGINAL/src/twitux-parser.c twitux-0.62/src/twitux-parser.c
--- twitux-ORIGINAL/src/twitux-parser.c 2008-04-20 15:48:08.000000000 -0400
+++ twitux-0.62/src/twitux-parser.c     2009-01-15 16:27:03.000000000 -0500
@@ -66,6 +66,8 @@
 static void             strtotime                 (const char  *time,  struct tm *post);
 static gchar           *parser_convert_time       (const char  *datetime);
 
+static gboolean display_notification (gpointer tweet);
+
 /* id of the newest tweet showed */
 static gint                    last_id = 0;
 
@@ -179,6 +181,13 @@
        return user;
 }
 
+static gboolean
+display_notification (gpointer tweet)
+{
+  twitux_app_show_notification (tweet);
+  g_free (tweet);
+  return FALSE;
+}
 
 /* Parse a timeline XML file */
 gboolean
@@ -200,6 +209,8 @@
        gboolean count = TRUE;
 
        gboolean s_username;
+       gint tweet_display_delay = 0;
+       const int tweet_display_interval = 5;
 
        /* parse the xml */
        doc = parser_twitux_parse (cache_file_uri, &root_element);
@@ -260,6 +271,14 @@
                                             "</small>",
                                             NULL);
 
+                       if (sid > last_id && show_notification)
+                         {
+                           g_timeout_add_seconds (tweet_display_delay,
+                                                                                display_notification,
+                                                                                g_strdup (tweet));
+                           tweet_display_delay += tweet_display_interval;
+              }
+
                        /* Append to ListStore */
                        gtk_list_store_append (store, &iter);
                        gtk_list_store_set (store, &iter,
@@ -297,12 +316,6 @@
 
        } /* end of loop */
 
-       /* Show UI notification */
-       if (show_notification && (nTwitts > 0) &&
-                               (last_id != lastTweet)) {
-               twitux_app_show_notification (nTwitts);
-       }
-
        /* Remember last id showed */
        if (lastTweet > 0) {
                last_id = lastTweet;

DanielMorales/Twitux/Patches/ShowTweets (last edited 2009-01-15 21:38:27 by ThomasThurman)