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

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

qubesos/qubes-issues#1031
This commit is contained in:
Marek Marczykowski-Górecki 2015-08-26 02:03:00 +02:00
parent 0c2306dd0a
commit 93e090469c
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724

View File

@ -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__":