frobar: More pulseaudio device descriptions

Is there not a standard thing I can check?
This commit is contained in:
Geoffrey Frogeye 2024-09-02 16:26:40 +02:00
parent 83c24f2fb2
commit 532b3628d3
Signed by: geoffrey
GPG key ID: C72403E7F82E6AD8

View file

@ -274,9 +274,15 @@ class PulseaudioProvider(StatefulSection, ThreadedUpdater):
sinks = []
with pulsectl.Pulse("list-sinks") as pulse:
for sink in pulse.sink_list():
if sink.port_active.name == "analog-output-headphones":
if (
sink.port_active.name == "analog-output-headphones"
or sink.port_active.description == "Headphones"
):
icon = ""
elif sink.port_active.name == "analog-output-speaker":
elif (
sink.port_active.name == "analog-output-speaker"
or sink.port_active.description == "Speaker"
):
icon = "" if sink.mute else ""
elif sink.port_active.name in ("headset-output", "headphone-output"):
icon = ""
@ -868,8 +874,7 @@ class MprisProvider(Section, ThreadedUpdater):
"{{ playerName }} {{ status }}",
"{{ album }}",
"{{ artist }}",
"{{ duration(position) }}|{{ duration(mpris:length) }}"
" {{ title }}",
"{{ duration(position) }}|{{ duration(mpris:length) }}" " {{ title }}",
]
# nf-fd icons don't work (UTF-16?)
@ -942,3 +947,8 @@ class MprisProvider(Section, ThreadedUpdater):
while p.poll() is None:
self.line = p.stdout.readline().decode().strip()
self.refreshData()
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
assert p.stdout
while p.poll() is None:
self.line = p.stdout.readline().decode().strip()
self.refreshData()