hamster-applet r656 - trunk/hamster



Author: tbaugis
Date: Thu Dec 11 19:05:39 2008
New Revision: 656
URL: http://svn.gnome.org/viewvc/hamster-applet?rev=656&view=rev

Log:
partial fix to all the idle mess - refresh right after computer
comes back from idle (like after a sleep session or a 
whole-night-screensaver watching event)
fixes bug 551780

Modified:
   trunk/hamster/applet.py

Modified: trunk/hamster/applet.py
==============================================================================
--- trunk/hamster/applet.py	(original)
+++ trunk/hamster/applet.py	Thu Dec 11 19:05:39 2008
@@ -223,6 +223,12 @@
             dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
             name = dbus.service.BusName(HAMSTER_URI, dbus.SessionBus())
             self.dbusController = HamsterDbusController(bus_name = name)
+
+            # let's also attach our listeners here
+            bus = dbus.SessionBus()
+            bus.add_signal_receiver(self.on_idle_changed,
+                                    dbus_interface="org.gnome.ScreenSaver",
+                                    signal_name="SessionIdleChanged")
         except dbus.DBusException, e:
             print "can't init dbus: %s" % e
     
@@ -288,6 +294,13 @@
             self.on_notify_interval_changed(None, self.config.get_notify_interval())
 
 
+    def on_idle_changed(self, state):
+        print "Idle state changed. Idle: ", state
+        # refresh when we are out of idle
+        # (like, instantly after computer has been turned on!
+        if state == 0:
+            self.refresh_hamster() 
+        
     def set_dropdown(self):
         # set up drop down menu
         self.activity_list = self.glade.get_widget('activity-list')



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]