39
39
self.bus = dbus.SessionBus()
42
obj = self.bus.get_object(dockybus, self.path)
43
self.iface = dbus.Interface(obj, itemiface)
45
self.bus.add_signal_receiver(self.menu_pressed_signal, "MenuItemActivated", itemiface, dockybus, self.path)
46
self.bus.add_signal_receiver(self.item_confirmation_needed, "ItemConfirmationNeeded", itemiface, dockybus, self.path)
43
obj = self.bus.get_object(dockybus, self.path)
44
self.iface = dbus.Interface(obj, itemiface)
46
self.bus.add_signal_receiver(self.menu_pressed_signal, "MenuItemActivated", itemiface, dockybus, self.path)
47
self.bus.add_signal_receiver(self.item_confirmation_needed, "ItemConfirmationNeeded", itemiface, dockybus, self.path)
48
except dbus.DBusException, e:
49
print "DockyItem(): %s" % e
48
52
def menu_pressed_signal(self, menu_id):
49
53
if self.id_map.has_key(menu_id):
77
81
obj = self.bus.get_object(dockybus, dockypath)
78
82
self._iface = dbus.Interface(obj, dockyiface)
84
paths = self._iface.DockItemPaths()
86
self.bus.add_signal_receiver(self.item_added, "ItemAdded", dockyiface, dockybus, dockypath)
87
self.bus.add_signal_receiver(self.item_removed, "ItemRemoved", dockyiface, dockybus, dockypath)
88
self.bus.add_signal_receiver(self.shut_down, "ShuttingDown", dockyiface, dockybus, dockypath)
90
for pathtoitem in paths:
91
obj = self.bus.get_object(dockybus, pathtoitem)
92
item = dbus.Interface(obj, itemiface)
93
self.item_path_found(pathtoitem, item)
95
self.bus.add_signal_receiver(self.name_owner_changed_cb, dbus_interface='org.freedesktop.DBus', signal_name='NameOwnerChanged')
79
96
except dbus.DBusException, e:
80
97
print "DockySink(): %s" % e
83
paths = self._iface.DockItemPaths()
85
self.bus.add_signal_receiver(self.item_added, "ItemAdded", dockyiface, dockybus, dockypath)
86
self.bus.add_signal_receiver(self.item_removed, "ItemRemoved", dockyiface, dockybus, dockypath)
87
self.bus.add_signal_receiver(self.shut_down, "ShuttingDown", dockyiface, dockybus, dockypath)
89
for pathtoitem in paths:
90
obj = self.bus.get_object(dockybus, pathtoitem)
91
item = dbus.Interface(obj, itemiface)
92
self.item_path_found(pathtoitem, item)
94
self.bus.add_signal_receiver(self.name_owner_changed_cb, dbus_interface='org.freedesktop.DBus', signal_name='NameOwnerChanged')
96
100
def name_owner_changed_cb(self, name, old_owner, new_owner):
97
101
if name == dockybus and not new_owner:
98
102
print "DockyDBus %s is gone, quitting now..." % name