diff -Nru gmail-screenlet-0.7/debian/changelog gmail-screenlet-0.7.1/debian/changelog --- gmail-screenlet-0.7/debian/changelog 2010-11-17 05:10:17.000000000 +0000 +++ gmail-screenlet-0.7.1/debian/changelog 2010-11-19 18:33:52.000000000 +0000 @@ -1,5 +1,5 @@ -gmail-screenlet (0.7) maverick; urgency=low +gmail-screenlet (0.7.1) maverick; urgency=low * Created automatically by The Screenlets Debianizer. - -- Guido Tabbernuk Wed, 17 Nov 2010 14:10:17 +0900 \ No newline at end of file + -- Guido Tabbernuk Sat, 20 Nov 2010 03:33:52 +0900 \ No newline at end of file diff -Nru gmail-screenlet-0.7/screenlet/Gmail/GmailScreenlet.py gmail-screenlet-0.7.1/screenlet/Gmail/GmailScreenlet.py --- gmail-screenlet-0.7/screenlet/Gmail/GmailScreenlet.py 2010-11-17 05:10:17.000000000 +0000 +++ gmail-screenlet-0.7.1/screenlet/Gmail/GmailScreenlet.py 2010-11-19 18:33:53.000000000 +0000 @@ -17,6 +17,7 @@ import pango import gtk from os import system +from os import path import gobject from screenlets import DefaultMenuItem from screenlets import Plugins @@ -29,7 +30,7 @@ # default meta-info for Screenlets __name__ = 'GmailScreenlet' - __version__ = '0.7' + __version__ = '0.7.1' __author__ = 'Helder Fraga' __desc__ = 'A screenlet that shows your unread gmail message count' @@ -42,6 +43,12 @@ forecast = '' msgs = ' 0' account = ('', '') + state_file_name = '' + machine_state_file_names = [ + '/sys/devices/virtual/leds/asus:mail/brightness', + '/proc/acpi/asus/mled', + '/proc/driver/acerhk/led' + ] # constructor def __init__(self, **keyword_args): @@ -49,14 +56,18 @@ screenlets.Screenlet.__init__(self, width=275, height=242, uses_theme=True, **keyword_args) # set theme self.theme_name = "default" + #add option groups + self.add_options_group('Advanced', 'Advanced settings.') # add default menu items - - self.add_options_group('gmail', 'Gmail Screenlet settings ...') - self.add_option(IntOption('gmail', 'update_interval', + self.add_options_group('Gmail', 'Gmail Screenlet settings ...') + self.add_option(IntOption('Gmail', 'update_interval', self.update_interval, 'Update interval', 'The interval for updating info (in seconds ,3660 = 1 day, 25620 = 1 week)', min=30, max=25620)) - self.add_option(AccountOption('gmail', 'account', + self.add_option(AccountOption('Gmail', 'account', self.account, 'Username/Password', 'Enter username/password here ...')) + self.add_option(StringOption('Advanced','state_file_name', self.get_state_file(), + 'State file name', 'If set, then the number of unread messages in the Inbox will be written to this file when the screenlet updates. By default, this screenlet tries to locate a suitable LED control file.')) + self.update_interval = self.update_interval def __setattr__(self, name, value): @@ -74,7 +85,7 @@ else: self.__dict__['update_interval'] = 1 - pass + def on_init (self): print "Screenlet has been initialized." # add default menuitems @@ -87,7 +98,6 @@ return True def check(self): - if self.account[0] != '' and self.account[1] != '': n = self.account[0].replace('@gmail.com','') try: @@ -97,6 +107,35 @@ else: self.msgs = 0 + self.update_state_file() + + def update_state_file(self): + print 'Mail state file: ' + self.state_file_name + + if not self.state_file_name: + self.hide_notification() + return False + + if path.exists(self.state_file_name): + self.hide_notification() + led_file = open(self.state_file_name, "w") + if int(self.msgs) > 0: + led_file.write(str(self.msgs)) + else: + led_file.write("0") + led_file.close() + else: + self.show_notification("The mail state file " + + self.state_file_name + + " does not exist.") + + def get_state_file(self): + for state_file in self.machine_state_file_names: + print "Checking LED control file " + state_file + if path.exists(state_file): + print 'Found LED control file ' + state_file + return state_file + return '' def on_mouse_down(self, event): # filter events Binary files /tmp/SELEkhTBRS/gmail-screenlet-0.7/screenlet/Gmail/GmailScreenlet.pyc and /tmp/sw7lMeQBQs/gmail-screenlet-0.7.1/screenlet/Gmail/GmailScreenlet.pyc differ