diff options
author | Toby Vincent <tobyv@tobyvin.dev> | 2024-06-04 21:04:32 -0500 |
---|---|---|
committer | Toby Vincent <tobyv@tobyvin.dev> | 2024-06-04 21:04:32 -0500 |
commit | a14ba5b250e84614194b7f625c7ac49e94a6db92 (patch) | |
tree | eeac873596ae5ae15d5e2a431627b5259e425e15 /i3blocks/.local | |
parent | 91a908f363811118cba903333a2adac675a6ffe3 (diff) |
fix(i3blocks): fix mpris method calls (for real this time)
Diffstat (limited to 'i3blocks/.local')
-rwxr-xr-x | i3blocks/.local/lib/i3blocks/i3blocks-mpris | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/i3blocks/.local/lib/i3blocks/i3blocks-mpris b/i3blocks/.local/lib/i3blocks/i3blocks-mpris index f58442c..abe1446 100755 --- a/i3blocks/.local/lib/i3blocks/i3blocks-mpris +++ b/i3blocks/.local/lib/i3blocks/i3blocks-mpris @@ -5,7 +5,6 @@ import json import os import sys from asyncio import CancelledError, TaskGroup, run -from pprint import pprint from collections import defaultdict, deque from itertools import islice @@ -268,25 +267,22 @@ class MPRIS: await asyncio.sleep(1) continue - match json.loads(line): - case {"button": 1} if bus_name := self.active_player: - await self.ifaces[bus_name].call_play_pause() - case {"button": 2}: - pass - case {"button": 3}: - self.cycle_player() - case {"button": 4} if bus_name := self.active_player: - iface = self.ifaces[bus_name] - if callable(getattr(iface.__class__, "get_volume", None)): - volume = await iface.get_volume() - if callable(getattr(iface.__class__, "set_volume", None)): - await iface.set_volume(volume + 0.05) - case {"button": 5} if bus_name := self.active_player: - iface = self.ifaces[bus_name] - if callable(getattr(iface.__class__, "get_volume", None)): - volume = await iface.get_volume() - if callable(getattr(iface.__class__, "set_volume", None)): - await self.ifaces[bus_name].set_volume(volume - 0.05) + try: + match json.loads(line): + case {"button": 1} if bus_name := self.active_player: + await self.ifaces[bus_name].call_play_pause() + case {"button": 2}: + pass + case {"button": 3}: + self.cycle_player() + case {"button": 4} if bus_name := self.active_player: + volume = await self.ifaces[bus_name].get_volume() + await self.ifaces[bus_name].set_volume(volume + 0.05) + case {"button": 5} if bus_name := self.active_player: + volume = await self.ifaces[bus_name].get_volume() + await self.ifaces[bus_name].set_volume(volume - 0.05) + except DBusError: + pass async def main(): |