Some weeks ago I got a gmail account and I realized that they don't have pop3/imap support so you need to log into the webmail to see if you have something new. I understand they want you to see the ads but that's too much for a email compulsive user as me.
So I hacked up a 50 lines gnome systray icon to alert me when you have mail:
#!/bin/env pythonimport pygtk pygtk.require('2.0') import gtk import gnome import eggtrayicon
import libgmail
ACCOUNT = 'your.name@gmail.com' PASSWORD = 'yourpassword' REFRESH_INTERVAL = 1000 * 60 * 5 # this is in milliseconds (5 minutes)
class GMailApplet(object): def __init__(self): gnome.program_init('gmail-applet', '0.0.1') self.applet_window = eggtrayicon.create_window('gmail-applet') self.applet_window.connect('destroy', gtk.main_quit)
self.event_box = gtk.EventBox() self.image_widget = gtk.Image() self.image_widget.set_from_file('gmail.png') self.event_box.add(self.image_widget)
self.image_widget.show() self.applet_window.add(self.event_box) self.applet_window.show_all()
self.account = libgmail.GmailAccount(ACCOUNT, PASSWORD) self.account.login() gtk.timeout_add(REFRESH_INTERVAL, self.refresh_handler) def run(self): gtk.main()
def refresh_handler(self): # handle gtk events while gtk.events_pending(): gtk.main_iteration(gtk.FALSE)
unreadMsgCount = self.account.getUnreadMsgCount()
if unreadMsgCount > 0: self.image_widget.set_from_file('gmail_notice.png') else: self.image_widget.set_from_file('gmail.png') return gtk.TRUE if __name__ == '__main__': g = GMailApplet() g.run()
You need libgmail and eggtrayicon.
There are some screenshots