14 lines
604 B
Text
14 lines
604 B
Text
|
|
sinks = $(pactl list sinks | grep node.name)
|
||
|
|
names = $(pactl list sinks | grep alsa.card_name)
|
||
|
|
sinkdict = {}
|
||
|
|
for sink_line, name_line in zip(sinks.split("\n"), names.split("\n")):
|
||
|
|
sink = sink_line.split("=")[-1].strip().strip('"')
|
||
|
|
name = name_line.split("=")[-1].strip().strip('"')
|
||
|
|
if sink and name:
|
||
|
|
sinkdict[sink] = name
|
||
|
|
default_sink = $(pactl get-default-sink).strip()
|
||
|
|
sinklist = list(sinkdict.keys())
|
||
|
|
i_next = (sinklist.index(default_sink) + 1) % len(sinklist)
|
||
|
|
next_sink = sinklist[i_next]
|
||
|
|
pactl set-default-sink @(next_sink)
|
||
|
|
print(f"PulseAudio sink: {sinkdict[next_sink]} active")
|