1234567891011121314151617181920 |
- #!/usr/bin/python
- from gi.repository import Gio
- import sys
- import dbus
- def launch(desktop, *files):
- launcher = Gio.DesktopAppInfo.new_from_filename(desktop)
- if hasattr(launcher, 'get_boolean'):
- activatable = launcher.get_boolean('DBusActivatable')
- if activatable:
- bus = dbus.SessionBus()
- service_id = launcher.get_id()
- # cut the .desktop suffix
- service_id = service_id[:-8]
- bus.start_service_by_name(service_id)
- launcher.launch(files, None)
- if __name__ == "__main__":
- launch(*sys.argv[1:])
|