import os import gtk import dbus import dbus.service import dbus.glib class ProxyBrowserService(dbus.service.Object): def __init__(self): bus_name = dbus.service.BusName('com.nokia.osso_browser', bus=dbus.SessionBus()) dbus.service.Object.__init__(self, bus_name, '/com/nokia/osso_browser') dbus.service.Object.__init__(self, bus_name, '/com/nokia/osso_browser/request') def OpenAddress(self, uri): print uri if uri[0] == '/': print "prefixing apparent local path with file://" uri = "file://" + uri os.execl('/usr/bin/dbus-launch', '/usr/bin/dbus-launch', 'midori', uri) @dbus.service.method(dbus_interface='com.nokia.osso_browser', in_signature='s') def load_url(self, uri): print "load_url" self.OpenAddress(uri) @dbus.service.method(dbus_interface='com.nokia.osso_browser', in_signature='s') def open_new_window(self, uri): print "open_new_window" self.OpenAddress(uri) @dbus.service.method(dbus_interface='com.nokia.osso_browser') def top_application(self): print "top_application" if os.system("lsof /usr/sbin/browserd") != 0: os.system("/usr/sbin/browserd -d") os.execl('/usr/bin/browser', '/usr/bin/browser') pbrowser = ProxyBrowserService() gtk.main()