Browse Source

qubes-desktop-run: start the Dbus service (if needed)

Much tidier way to solve the issue, provided by @Unman.

qubesos/qubes-issues#1031
Marek Marczykowski-Górecki 8 years ago
parent
commit
93e090469c
1 changed files with 8 additions and 0 deletions
  1. 8 0
      misc/qubes-desktop-run

+ 8 - 0
misc/qubes-desktop-run

@@ -2,9 +2,17 @@
 
 from gi.repository import Gio
 import sys
+import dbus
 
 def main(myname, desktop, *files):
     launcher = Gio.DesktopAppInfo.new_from_filename(desktop)
+    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__":