Compare commits

...

3 Commits

Author SHA1 Message Date
Martin Wagner 7054643080 fixed dbus timeouts 2023-02-28 00:32:18 +01:00
Martin Wagner 0ee982f7e4 work around inactive but available org.freedesktop.FileManager1 2023-02-28 00:30:41 +01:00
Martin Wagner 2b150f8a19 fixed some return types in MPRIS interface 2023-02-27 23:38:11 +01:00
1 changed files with 9 additions and 7 deletions

View File

@ -185,8 +185,8 @@ class MPRISInterface: # TODO emit Seeked if needed
"HasTrackList": (GLib.Variant("b", False), None),
"Identity": (GLib.Variant("s", "mpdevil"), None),
"DesktopEntry": (GLib.Variant("s", "org.mpdevil.mpdevil"), None),
"SupportedUriSchemes": (GLib.Variant("s", "None"), None),
"SupportedMimeTypes": (GLib.Variant("s", "None"), None)},
"SupportedUriSchemes": (GLib.Variant("as", []), None),
"SupportedMimeTypes": (GLib.Variant("as", []), None)},
self._MPRIS_PLAYER_IFACE:
{"PlaybackStatus": (self._get_playback_status, None),
"LoopStatus": (self._get_loop_status, self._set_loop_status),
@ -870,15 +870,17 @@ class Client(MPDClient):
return None
def can_show_in_file_manager(self, uri):
path=self.get_absolute_path(uri)
dbus_name_avail,=self._bus.call_sync("org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus", "NameHasOwner",
GLib.Variant("(s)",("org.freedesktop.FileManager1",)), GLib.VariantType("(b)"), Gio.DBusCallFlags.NONE, 500, None)
return (path is not None) and dbus_name_avail
try:
self._bus.call_sync("org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus", "StartServiceByName",
GLib.Variant("(su)",("org.freedesktop.FileManager1",0)), GLib.VariantType("(u)"), Gio.DBusCallFlags.NONE, -1, None)
except GLib.GError:
return False
return self.get_absolute_path(uri) is not None
def show_in_file_manager(self, uri):
file=Gio.File.new_for_path(self.get_absolute_path(uri))
self._bus.call_sync("org.freedesktop.FileManager1", "/org/freedesktop/FileManager1", "org.freedesktop.FileManager1",
"ShowItems", GLib.Variant("(ass)", ((file.get_uri(),),"")), None, Gio.DBusCallFlags.NONE, 500, None)
"ShowItems", GLib.Variant("(ass)", ((file.get_uri(),),"")), None, Gio.DBusCallFlags.NONE, -1, None)
def toggle_play(self):
status=self.status()