From 8140b3b73cda48ec87df8113bf5e32108a579b3e Mon Sep 17 00:00:00 2001 From: facetoe Date: Tue, 7 Jun 2016 16:24:04 +0800 Subject: [PATCH] Use sink name not index. --- i3pystatus/pulseaudio/__init__.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/i3pystatus/pulseaudio/__init__.py b/i3pystatus/pulseaudio/__init__.py index fffca7b..ad97b7e 100644 --- a/i3pystatus/pulseaudio/__init__.py +++ b/i3pystatus/pulseaudio/__init__.py @@ -178,16 +178,18 @@ class PulseAudio(Module, ColorRangeModule): } def change_sink(self): - sink_inputs = subprocess.Popen("pacmd list-sink-inputs".split(), - stdout=subprocess.PIPE, - universal_newlines=True).stdout.read() curr_sink = self.sink sinks = list(s.split()[1] for s in self.sinks) next_sink = (sinks.index(curr_sink) + 1) % len(sinks) - subprocess.Popen("pacmd set-default-sink {}".format(next_sink).split()) + + sink_inputs = subprocess.Popen("pacmd list-sink-inputs".split(), + stdout=subprocess.PIPE, + universal_newlines=True).stdout.read() for input_index in re.findall('index:\s+(\d+)', sink_inputs): - subprocess.Popen("pacmd move-sink-input {} {}".format(input_index, next_sink).split(), + command = "pacmd move-sink-input {} {}".format(input_index, sinks[next_sink]) + subprocess.Popen(command.split(), stdout=subprocess.PIPE) + subprocess.Popen("pacmd set-default-sink {}".format(sinks[next_sink]).split()) def switch_mute(self): subprocess.Popen(['pactl', 'set-sink-mute', self.sink, "toggle"])