[hamster-applet] docky 2.1 support
- From: Toms Baugis <tbaugis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [hamster-applet] docky 2.1 support
- Date: Wed, 4 Aug 2010 16:48:11 +0000 (UTC)
commit 078c408fabb3f39466bebafebff44c704d2597cd
Author: Toms Bauģis <toms baugis gmail com>
Date: Wed Aug 4 17:47:04 2010 +0100
docky 2.1 support
src/docky_control/{ => 2.0}/hamster_control.py | 0
.../{ => 2.0}/hamster_control.py.info | 0
src/docky_control/{ => 2.1}/hamster_control.py | 44 +++++++++-----------
src/docky_control/2.1/hamster_control.py.info | 4 ++
wscript | 11 ++++-
5 files changed, 33 insertions(+), 26 deletions(-)
---
diff --git a/src/docky_control/hamster_control.py b/src/docky_control/2.0/hamster_control.py
similarity index 100%
copy from src/docky_control/hamster_control.py
copy to src/docky_control/2.0/hamster_control.py
diff --git a/src/docky_control/hamster_control.py.info b/src/docky_control/2.0/hamster_control.py.info
similarity index 100%
rename from src/docky_control/hamster_control.py.info
rename to src/docky_control/2.0/hamster_control.py.info
diff --git a/src/docky_control/hamster_control.py b/src/docky_control/2.1/hamster_control.py
similarity index 70%
rename from src/docky_control/hamster_control.py
rename to src/docky_control/2.1/hamster_control.py
index 708e5a0..0f7a001 100755
--- a/src/docky_control/hamster_control.py
+++ b/src/docky_control/2.1/hamster_control.py
@@ -27,7 +27,7 @@ from subprocess import Popen
import gtk
-from docky.docky import DockyItem, DockySink
+from dockmanager.dockmanager import DockManagerItem, DockManagerSink
from signal import signal, SIGTERM
from sys import exit
@@ -37,9 +37,9 @@ from hamster import i18n
i18n.setup_i18n()
-class DockyHamsterItem(DockyItem):
- def __init__(self, path):
- DockyItem.__init__(self, path)
+class HamsterItem(DockManagerItem):
+ def __init__(self, sink, path):
+ DockManagerItem.__init__(self, sink, path)
self.storage = client.Storage()
self.storage.connect("facts-changed", lambda storage: self.refresh_hamster())
@@ -65,15 +65,11 @@ class DockyHamsterItem(DockyItem):
if today and today[-1]['end_time'] is None:
fact = today[-1]
- self.iface.SetText("%(name)s - %(category)s" % fact)
- self.iface.SetBadgeText(stuff.format_duration(fact['delta'], human=False))
+ self.set_tooltip("%(name)s - %(category)s" % fact)
+ self.set_badge(stuff.format_duration(fact['delta'], human=False))
else:
- self.iface.SetText(_("No activity"))
- self.iface.ResetBadgeText()
-
- def add_menu_item(self, name, icon):
- menu_id = self.iface.AddMenuItem(name, icon, "")
- self.id_map[menu_id] = name
+ self.set_tooltip(_("No activity"))
+ self.reset_badge()
def menu_pressed(self, menu_id):
if self.id_map[menu_id] == _("Overview"):
@@ -86,8 +82,8 @@ class DockyHamsterItem(DockyItem):
def add_actions(self):
# first clear the menu
- for k, v in self.id_map.iteritems():
- self.iface.RemoveItem(k)
+ for k in self.id_map.keys():
+ self.remove_menu_item(k)
self.id_map = {}
# now add buttons
@@ -95,21 +91,21 @@ class DockyHamsterItem(DockyItem):
self.add_menu_item(_("Preferences"), "preferences-desktop-personal")
-class DockyHamsterSink(DockySink):
+class HamsterSink(DockManagerSink):
def item_path_found(self, pathtoitem, item):
- if item.GetOwnsDesktopFile() and item.GetDesktopFile().endswith("hamster-time-tracker.desktop"):
- self.items[pathtoitem] = DockyHamsterItem(pathtoitem)
+ if item.Get("org.freedesktop.DockItem", "DesktopFile", dbus_interface="org.freedesktop.DBus.Properties").endswith ("hamster-time-tracker.desktop"):
+ self.items[pathtoitem] = HamsterItem(self, pathtoitem)
-dockysink = DockyHamsterSink()
+hamstersink = HamsterSink()
def cleanup():
- dockysink.dispose()
+ hamstersink.dispose()
if __name__ == "__main__":
- mainloop = gobject.MainLoop(is_running=True)
+ mainloop = gobject.MainLoop(is_running=True)
- atexit.register (cleanup)
- signal(SIGTERM, lambda signum, stack_frame: exit(1))
+ atexit.register (cleanup)
+ signal(SIGTERM, lambda signum, stack_frame: exit(1))
- while mainloop.is_running():
- mainloop.run()
+ while mainloop.is_running():
+ mainloop.run()
diff --git a/src/docky_control/2.1/hamster_control.py.info b/src/docky_control/2.1/hamster_control.py.info
new file mode 100644
index 0000000..b3e4dd2
--- /dev/null
+++ b/src/docky_control/2.1/hamster_control.py.info
@@ -0,0 +1,4 @@
+[DockmanagerHelper]
+Name=Hamster Controls
+Description=Status icon for the Project Hamster time tracker
+Icon=hamster-applet
diff --git a/wscript b/wscript
index 21bfcaa..5d2e45b 100644
--- a/wscript
+++ b/wscript
@@ -64,10 +64,17 @@ def build(bld):
bld.install_files('${PYTHONDIR}/hamster/widgets', 'src/hamster/widgets/*.py')
bld.install_files('${DATADIR}/docky/helpers',
- 'src/docky_control/hamster_control.py',
+ 'src/docky_control/2.0/hamster_control.py',
chmod = 0755)
bld.install_files('${DATADIR}/docky/helpers/metadata',
- 'src/docky_control/hamster_control.py.info')
+ 'src/docky_control/2.0/hamster_control.py.info')
+
+ # docky 2.1+ changes python API, folder and other things (how amusing)
+ bld.install_files('${DATADIR}/dockmanager/scripts',
+ 'src/docky_control/2.1/hamster_control.py',
+ chmod = 0755)
+ bld.install_files('${DATADIR}/dockmanager/metadata',
+ 'src/docky_control/2.1/hamster_control.py.info')
bld.new_task_gen("subst",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]