From 1167e3e910ca275705cdd15c10d723c97e21fc83 Mon Sep 17 00:00:00 2001
From: Anna <annabuches@gmail.com>
Date: Sun, 11 Apr 2010 21:07:37 -0400
Subject: [PATCH] New tweets get a different background color... need a better
 way to determine when they are no longer new, though

---
 mytwitter.py | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/mytwitter.py b/mytwitter.py
index caabd14..e635924 100755
--- a/mytwitter.py
+++ b/mytwitter.py
@@ -91,10 +91,12 @@ class MyTwitter():
         num_new_tweets = 0
 
         for i in range(0, self.num_entries):
+            read = True
             if i < len(statuses):
                 if statuses[i].id > self.latest_tweet:
                     num_new_tweets += 1
-                self.tweets[i].set_status(statuses[i])
+                    read = False
+                self.tweets[i].set_status(statuses[i], read)
             else:
                 self.tweets[i].clear_status()
 
@@ -195,7 +197,9 @@ class TweetBox(gtk.VBox):
         self.text = gtk.Label()
         text_align = gtk.Alignment()
         text_align.add(self.text)
-        self.pack_start(text_align)
+        self.text_eb = gtk.EventBox()
+        self.text_eb.add(text_align)
+        self.pack_start(self.text_eb)
 
         # Set the text's properties
         text_align.set_padding(2, 10, 3, 0)
@@ -216,7 +220,9 @@ class TweetBox(gtk.VBox):
         retweet_button.connect("clicked", self.on_retweet_clicked)
         
 
-    def set_status(self, status):
+    def set_status(self, status, read=True):
+        self.set_read(read)
+
         timezone = dateutil.tz.gettz()
         time_format = "%Y.%m.%d %H:%M:%S %Z"
 
@@ -248,6 +254,16 @@ class TweetBox(gtk.VBox):
         self.text.set_markup('')
         self.screen_name = None
         self.id = None
+        self.set_read(True)
+
+
+    def set_read(self, read=True):
+        if read:
+            self.text_eb.modify_bg(gtk.STATE_NORMAL,
+                                   gtk.gdk.color_parse("#ffffff"))            
+        else:
+            self.text_eb.modify_bg(gtk.STATE_NORMAL,
+                                   gtk.gdk.color_parse("#ddffdd"))
 
 
     def on_reply_clicked(self, widget):