aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/i3blocks/.local/lib
diff options
context:
space:
mode:
authorToby Vincent <tobyv@tobyvin.dev>2024-06-04 20:28:16 -0500
committerToby Vincent <tobyv@tobyvin.dev>2024-06-04 20:28:33 -0500
commit67a97e8e551fb6cf2328923f318671ef00d8e77c (patch)
tree8095c285d935c064fbfa9c91e50bc79c96076132 /i3blocks/.local/lib
parentf3d8088697ec4e2c0fbd01095db4f02ffe8b0878 (diff)
fix(i3blocks): add check for dbus mpris method calls
Diffstat (limited to 'i3blocks/.local/lib')
-rwxr-xr-xi3blocks/.local/lib/i3blocks/i3blocks-mpris16
1 files changed, 12 insertions, 4 deletions
diff --git a/i3blocks/.local/lib/i3blocks/i3blocks-mpris b/i3blocks/.local/lib/i3blocks/i3blocks-mpris
index ed9279a..f58442c 100755
--- a/i3blocks/.local/lib/i3blocks/i3blocks-mpris
+++ b/i3blocks/.local/lib/i3blocks/i3blocks-mpris
@@ -5,11 +5,13 @@ 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
from dbus_next import Variant
from dbus_next.aio import MessageBus
+from dbus_next.errors import DBusError
BUS_NAME_PREFIX = "org.mpris.MediaPlayer2."
BUS_NAME_IGNORE = ["org.mpris.MediaPlayer2.playerctld"]
@@ -274,11 +276,17 @@ class MPRIS:
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)
+ 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:
- volume = await self.ifaces[bus_name].get_volume()
- await self.ifaces[bus_name].set_volume(volume - 0.05)
+ 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)
async def main():