def __init__(self): # initialize the window. explicitly set it to None first, so that the # creator knows it doesn't yet exist. self.window = None self.create_hamster_window() self.new_name.grab_focus() # configuration self.workspace_tracking = conf.get("workspace_tracking") conf.connect('conf-changed', self.on_conf_changed) # Load today's data, activities and set label self.last_activity = None self.todays_facts = None runtime.storage.connect('activities-changed', self.after_activity_update) runtime.storage.connect('facts-changed', self.after_fact_update) runtime.storage.connect('toggle-called', self.on_toggle_called) self.screen = None if self.workspace_tracking: self.init_workspace_tracking() # refresh hamster every 60 seconds gobject.timeout_add_seconds(60, self.refresh_hamster) self.prev_size = None # bindings self.accel_group = self.get_widget("accelgroup") self.window.add_accel_group(self.accel_group) gtk.accel_map_add_entry("<hamster-time-tracker>/tracking/add", gtk.keysyms.n, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-time-tracker>/tracking/overview", gtk.keysyms.o, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-time-tracker>/tracking/stats", gtk.keysyms.i, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-time-tracker>/tracking/close", gtk.keysyms.Escape, 0) gtk.accel_map_add_entry("<hamster-time-tracker>/tracking/quit", gtk.keysyms.q, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-time-tracker>/edit/prefs", gtk.keysyms.p, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-time-tracker>/help/contents", gtk.keysyms.F1, 0) # create the status icon self.statusicon = ProjectHamsterStatusIcon(self) self.reposition_hamster_window() self.show_hamster_window() self.show_in_tray()
def __init__(self): # initialize the window. explicitly set it to None first, so that the # creator knows it doesn't yet exist. self.window = None self.create_hamster_window() self.new_name.grab_focus() # configuration self.workspace_tracking = conf.get("workspace_tracking") conf.connect('conf-changed', self.on_conf_changed) # Load today's data, activities and set label self.last_activity = None self.todays_facts = None runtime.storage.connect('activities-changed',self.after_activity_update) runtime.storage.connect('facts-changed',self.after_fact_update) runtime.storage.connect('toggle-called', self.on_toggle_called) self.screen = None if self.workspace_tracking: self.init_workspace_tracking() # refresh hamster every 60 seconds gobject.timeout_add_seconds(60, self.refresh_hamster) self.prev_size = None # bindings self.accel_group = self.get_widget("accelgroup") self.window.add_accel_group(self.accel_group) gtk.accel_map_add_entry("<hamster-time-tracker>/tracking/add", gtk.keysyms.n, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-time-tracker>/tracking/overview", gtk.keysyms.o, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-time-tracker>/tracking/stats", gtk.keysyms.i, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-time-tracker>/tracking/close", gtk.keysyms.Escape, 0) gtk.accel_map_add_entry("<hamster-time-tracker>/tracking/quit", gtk.keysyms.q, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-time-tracker>/edit/prefs", gtk.keysyms.p, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-time-tracker>/help/contents", gtk.keysyms.F1, 0) # create the status icon self.statusicon = ProjectHamsterStatusIcon(self) self.reposition_hamster_window() self.show_hamster_window() self.show_in_tray()
def __init__(self, storage): self.storage = storage # can't use client as then we get in a dbus loop dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) self.bus = dbus.SessionBus() self.conf_enable_timeout = conf.get("enable_timeout") self.conf_notify_on_idle = conf.get("notify_on_idle") self.conf_notify_interval = conf.get("notify_interval") conf.connect('conf-changed', self.on_conf_changed) self.idle_listener = idle.DbusIdleListener() self.idle_listener.connect('idle-changed', self.on_idle_changed) gobject.timeout_add_seconds(60, self.check_hamster)
def __init__(self, project): self.project = project # Gconf settings # self._settings = gconf.client_get_default() # self._settings.add_dir(self.BASE_KEY, gconf.CLIENT_PRELOAD_NONE) # Key to enable/disable icon glow self._use_icon_glow = conf.get("icon_glow") self._show_label = conf.get("show_label") self._label_length = conf.get("label_length") conf.connect('conf-changed', self.on_conf_changed) self._activity_as_attribute = None # Create a fake applet since HamsterApplet requires one # applet = FakeApplet() self.indicator = appindicator.Indicator ("hamster-applet", "hamster-applet-inactive", appindicator.CATEGORY_SYSTEM_SERVICES) self.indicator.set_status(appindicator.STATUS_ACTIVE) # Set the attention icon as per the icon_glow gconf key self._set_attention_icon() # Initialise the activity label with "No Activity" self.indicator.set_label(self._get_no_activity_label()) self.activity, self.duration = None, None self.menu = gtk.Menu() self.activity_item = gtk.MenuItem("") self.menu.append(self.activity_item) # this is where you would connect your menu item up with a function: self.activity_item.connect("activate", self.on_activate) self.activity_label = self.activity_item.get_child() self.activity_label.connect('style-set', self.on_label_style_set) # show the items self.activity_item.show() self.stop_activity_item = gtk.MenuItem(_(u"Sto_p tracking")) self.menu.append(self.stop_activity_item) # this is where you would connect your menu item up with a function: self.stop_activity_item.connect("activate", self.on_stop_activity_activated, None) # show the items self.stop_activity_item.show() self.append_separator(self.menu) self.earlier_activity_item = gtk.MenuItem(_(u"Add earlier activity")) self.menu.append(self.earlier_activity_item) # this is where you would connect your menu item up with a function: self.earlier_activity_item.connect("activate", self.on_earlier_activity_activated, None) # show the items self.earlier_activity_item.show() self.overview_show_item = gtk.MenuItem(_(u"Show Overview")) self.menu.append(self.overview_show_item) # this is where you would connect your menu item up with a function: self.overview_show_item.connect("activate", self.on_overview_show_activated, None) # show the items self.overview_show_item.show() self.append_separator(self.menu) self.preferences_show_item = gtk.MenuItem(_(u"_Preferences")) self.menu.append(self.preferences_show_item) # this is where you would connect your menu item up with a function: self.preferences_show_item.connect("activate", self.on_show_preferences_activated, None) # show the items self.preferences_show_item.show() self.append_separator(self.menu) self.quit_item = gtk.ImageMenuItem(gtk.STOCK_QUIT) self.menu.append(self.quit_item) # this is where you would connect your menu item up with a function: self.quit_item.connect("activate", gtk.main_quit, None) # show the items self.quit_item.show() self.project.last_activity = None runtime.storage.connect('activities-changed', self.after_activity_update) runtime.storage.connect('facts-changed', self.after_fact_update) runtime.storage.connect('toggle-called', self.on_toggle_called) gobject.timeout_add_seconds(20, self.refresh_tray) # refresh hamster every 20 seconds to update duration
def __init__(self, project): self.project = project # Gconf settings # self._settings = gconf.client_get_default() # self._settings.add_dir(self.BASE_KEY, gconf.CLIENT_PRELOAD_NONE) # Key to enable/disable icon glow self._use_icon_glow = conf.get("icon_glow") self._show_label = conf.get("show_label") self._label_length = conf.get("label_length") conf.connect('conf-changed', self.on_conf_changed) self._activity_as_attribute = None # Create a fake applet since HamsterApplet requires one # applet = FakeApplet() self.indicator = appindicator.Indicator( "hamster-applet", "hamster-applet-inactive", appindicator.CATEGORY_SYSTEM_SERVICES) self.indicator.set_status(appindicator.STATUS_ACTIVE) # Set the attention icon as per the icon_glow gconf key self._set_attention_icon() # Initialise the activity label with "No Activity" self.indicator.set_label(self._get_no_activity_label()) self.activity, self.duration = None, None self.menu = gtk.Menu() self.activity_item = gtk.MenuItem("") self.menu.append(self.activity_item) # this is where you would connect your menu item up with a function: self.activity_item.connect("activate", self.on_activate) self.activity_label = self.activity_item.get_child() self.activity_label.connect('style-set', self.on_label_style_set) # show the items self.activity_item.show() self.stop_activity_item = gtk.MenuItem(_(u"Sto_p tracking")) self.menu.append(self.stop_activity_item) # this is where you would connect your menu item up with a function: self.stop_activity_item.connect("activate", self.on_stop_activity_activated, None) # show the items self.stop_activity_item.show() self.append_separator(self.menu) self.earlier_activity_item = gtk.MenuItem(_(u"Add earlier activity")) self.menu.append(self.earlier_activity_item) # this is where you would connect your menu item up with a function: self.earlier_activity_item.connect("activate", self.on_earlier_activity_activated, None) # show the items self.earlier_activity_item.show() self.overview_show_item = gtk.MenuItem(_(u"Show Overview")) self.menu.append(self.overview_show_item) # this is where you would connect your menu item up with a function: self.overview_show_item.connect("activate", self.on_overview_show_activated, None) # show the items self.overview_show_item.show() self.append_separator(self.menu) self.preferences_show_item = gtk.MenuItem(_(u"_Preferences")) self.menu.append(self.preferences_show_item) # this is where you would connect your menu item up with a function: self.preferences_show_item.connect("activate", self.on_show_preferences_activated, None) # show the items self.preferences_show_item.show() self.append_separator(self.menu) self.quit_item = gtk.ImageMenuItem(gtk.STOCK_QUIT) self.menu.append(self.quit_item) # this is where you would connect your menu item up with a function: self.quit_item.connect("activate", gtk.main_quit, None) # show the items self.quit_item.show() self.project.last_activity = None runtime.storage.connect('activities-changed', self.after_activity_update) runtime.storage.connect('facts-changed', self.after_fact_update) runtime.storage.connect('toggle-called', self.on_toggle_called) gobject.timeout_add_seconds( 20, self.refresh_tray ) # refresh hamster every 20 seconds to update duration
class DailyView(object): def __init__(self): # initialize the window. explicitly set it to None first, so that the # creator knows it doesn't yet exist. self.window = None self.create_hamster_window() self.new_name.grab_focus() # DBus Setup try: dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) # Set up connection to the screensaver self.dbusIdleListener = idle.DbusIdleListener() self.dbusIdleListener.connect('idle-changed', self.on_idle_changed) except dbus.DBusException, e: logging.error("Can't init dbus: %s" % e) # configuration self.timeout_enabled = conf.get("enable_timeout") self.notify_on_idle = conf.get("notify_on_idle") self.notify_interval = conf.get("notify_interval") self.workspace_tracking = conf.get("workspace_tracking") conf.connect('conf-changed', self.on_conf_changed) # Load today's data, activities and set label self.last_activity = None self.todays_facts = None runtime.storage.connect('activities-changed',self.after_activity_update) runtime.storage.connect('facts-changed',self.after_fact_update) runtime.storage.connect('toggle-called', self.on_toggle_called) self.screen = None if self.workspace_tracking: self.init_workspace_tracking() self.notification = None if pynotify: self.notification = pynotify.Notification("Oh hi", "Greetings from hamster!") self.notification.set_urgency(pynotify.URGENCY_LOW) # lower than grass # refresh hamster every 60 seconds gobject.timeout_add_seconds(60, self.refresh_hamster) self.prev_size = None # bindings self.accel_group = self.get_widget("accelgroup") self.window.add_accel_group(self.accel_group) gtk.accel_map_add_entry("<hamster-applet>/tracking/add", gtk.keysyms.n, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-applet>/tracking/overview", gtk.keysyms.o, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-applet>/tracking/stats", gtk.keysyms.i, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-applet>/tracking/close", gtk.keysyms.Escape, 0) gtk.accel_map_add_entry("<hamster-applet>/tracking/quit", gtk.keysyms.q, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-applet>/edit/prefs", gtk.keysyms.p, gtk.gdk.CONTROL_MASK) gtk.accel_map_add_entry("<hamster-applet>/help/contents", gtk.keysyms.F1, 0) # create the status icon self.statusicon = ProjectHamsterStatusIcon(self) self.reposition_hamster_window() self.show_hamster_window() self.show_in_tray()