diff -urNd hamster-applet/hamster/applet.py hamster-applet-d-bus/hamster/applet.py
--- hamster-applet/hamster/applet.py	2008-08-12 14:21:06.000000000 +0200
+++ hamster-applet-d-bus/hamster/applet.py	2008-08-12 14:20:58.000000000 +0200
@@ -24,6 +24,9 @@
 import os.path
 import gnomeapplet, gtk
 import gobject
+import dbus
+import dbus.service
+import dbus.mainloop.glib
 
 from hamster import dispatcher, storage, SHARED_DATA_DIR
 import hamster.eds
@@ -31,6 +34,8 @@
 
 from hamster.stuff import *
 from hamster.KeyBinder import *
+from hamster.hamsterdbus import HAMSTER_URI, HamsterDbusController 
+
 import idle
 
 class PanelButton(gtk.ToggleButton):
@@ -91,6 +96,13 @@
         self.edit_column = gtk.TreeViewColumn("", edit_cell)
         self.treeview.append_column(self.edit_column)
 
+	# DBus Setup
+	try:
+	    dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+            name = dbus.service.BusName(HAMSTER_URI, dbus.SessionBus())
+            self.dbusController = HamsterDbusController(bus_name = name)
+	except dbus.DBusException, e:
+	    print "can't init dbus: %s" % e
 
         # Load today's data, activities and set label
         self.last_activity = None
@@ -99,6 +111,9 @@
         self.load_day()
         self.update_label()
 
+        # Hamster DBusController current fact initialising
+	self.__update_fact()
+
         # refresh hamster every 60 seconds to update duration
         gobject.timeout_add_seconds(60, self.refresh_hamster)
 
@@ -137,6 +152,7 @@
         self.button.connect('button_press_event', self.on_button_press)
         self.glade.signal_autoconnect(self)
 
+
         # init hotkey
         dispatcher.add_handler('keybinding_activated', self.on_keybinding_activated)
         dispatcher.add_handler('gconf_timeout_changed', self.on_timeout_changed)
@@ -197,7 +213,10 @@
             label = "%s" % _(u"No activity")
             self.glade.get_widget('stop_tracking').set_sensitive(0);
         self.button.set_text(label)
-        
+
+        # Hamster DBusController current activity updating
+	self.dbusController.update_activity(label)
+
     def load_day(self):
         """sets up today's tree and fills it with records
            returns information about last activity"""
@@ -254,6 +273,14 @@
         self.treeview.set_cursor(cur)
 
 
+    def __update_fact(self):
+	"""dbus controller current fact updating"""
+	if self.last_activity and self.last_activity['end_time'] == None:
+	    self.dbusController.update_fact(self.last_activity["name"])
+	else:
+	    self.dbusController.update_fact(_(u'No activity'))
+
+
     def __show_toggle(self, event, is_active):
         """main window display and positioning"""
         self.button.set_active(is_active)
@@ -375,12 +402,14 @@
         self.refresh_menu()
         self.load_day()
         self.update_label()
-    
+
     def after_fact_update(self, event, date):
         if date.date() == datetime.date.today():
             self.load_day()
             self.update_label()
 
+	self.__update_fact()
+
     """global shortcuts"""
     def on_keybinding_activated(self, event, data):
         self.__show_toggle(None, not self.button.get_active())
diff -urNd hamster-applet/hamster/Configuration.py hamster-applet-d-bus/hamster/Configuration.py
--- hamster-applet/hamster/Configuration.py	2008-08-12 14:21:06.000000000 +0200
+++ hamster-applet-d-bus/hamster/Configuration.py	2008-08-12 14:20:58.000000000 +0200
@@ -58,7 +58,7 @@
         self._client.notify_add(self.GCONF_TIMEOUT, lambda x, y, z, a: dispatcher.dispatch("gconf_timeout_changed", z.value.get_int()))
         self._client.notify_add(self.GCONF_ENABLE_TIMEOUT, lambda x, y, z, a: dispatcher.dispatch("gconf_timeout_enabled_changed", z.value.get_bool()))
         self._client.notify_add(self.GCONF_STOP_ON_SHUTDOWN, lambda x, y, z, a: dispatcher.dispatch("gconf_stop_on_shutdown_changed", z.value.get_bool()))
-    
+   
     def get_keybinding(self):
         return self._client.get_string(self.GCONF_KEYBINDING)
     
@@ -83,3 +83,4 @@
         
     def set_stop_on_shutdown(self, enabled):
         self._client.set_bool(self.GCONF_STOP_ON_SHUTDOWN, enabled)
+
diff -urNd hamster-applet/hamster/hamsterdbus.py hamster-applet-d-bus/hamster/hamsterdbus.py
--- hamster-applet/hamster/hamsterdbus.py	1970-01-01 01:00:00.000000000 +0100
+++ hamster-applet-d-bus/hamster/hamsterdbus.py	2008-08-12 14:20:58.000000000 +0200
@@ -0,0 +1,47 @@
+# - coding: utf-8 -
+
+# Copyright (C) 2008, J. Félix Ontañón <fontanon at emergya dot es>
+
+# This file is part of Project Hamster.
+
+# Project Hamster is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# Project Hamster is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with Project Hamster.  If not, see <http://www.gnu.org/licenses/>.
+
+import dbus
+import dbus.service
+
+HAMSTER_URI = "org.gnome.hamster"
+HAMSTER_PATH = "/org/gnome/hamster"
+
+class HamsterDbusController(dbus.service.Object):
+    activity = "Undefined"
+    fact = "Undefined"
+
+    def __init__(self, bus_name):
+        dbus.service.Object.__init__(self, bus_name, HAMSTER_PATH)
+
+    @dbus.service.method(HAMSTER_URI)
+    def get_activity(self):
+        return self.activity
+
+    @dbus.service.signal(HAMSTER_URI)
+    def update_activity(self, activity):
+	self.activity = activity
+
+    @dbus.service.method(HAMSTER_URI)
+    def get_fact(self):
+        return self.fact
+
+    @dbus.service.signal(HAMSTER_URI)
+    def update_fact(self, fact):
+	self.fact = fact
diff -urNd hamster-applet/hamster/Makefile.am hamster-applet-d-bus/hamster/Makefile.am
--- hamster-applet/hamster/Makefile.am	2008-08-12 14:21:06.000000000 +0200
+++ hamster-applet-d-bus/hamster/Makefile.am	2008-08-12 14:20:58.000000000 +0200
@@ -26,6 +26,7 @@
 	add_custom_fact.py \
 	applet.py \
 	about.py \
+	hamsterdbus.py \
 	idle.py \
 	__init__.py
 
