From 3422469df0d50bedb30094864e474170a0573e27 Mon Sep 17 00:00:00 2001 From: facetoe Date: Sun, 27 Mar 2016 09:58:45 +0800 Subject: [PATCH 1/2] Fix sink selection bug. A sink in the SUSPENDED state would never be selected. Not sure if this solution is correct... --- i3pystatus/pulseaudio/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/i3pystatus/pulseaudio/__init__.py b/i3pystatus/pulseaudio/__init__.py index 9f11721..9e42c24 100644 --- a/i3pystatus/pulseaudio/__init__.py +++ b/i3pystatus/pulseaudio/__init__.py @@ -95,10 +95,11 @@ class PulseAudio(Module, ColorRangeModule): state = b'DEFAULT' for sink in sinks.splitlines(): attribs = sink.split() - if attribs[-1] == b'RUNNING': + sink_state = attribs[-1] + if sink_state == b'RUNNING': bestsink = attribs[1] state = 'RUNNING' - elif attribs[-1] == b'IDLE' and state == b'DEFAULT': + elif (sink_state == b'IDLE' or sink_state == b'SUSPENDED') and state == b'DEFAULT': bestsink = attribs[1] state = b'IDLE' return bestsink From b111fd62f1d796d5bf3ff6348bca9dea85a1228c Mon Sep 17 00:00:00 2001 From: facetoe Date: Mon, 28 Mar 2016 08:46:25 +0800 Subject: [PATCH 2/2] Clean up code. --- i3pystatus/pulseaudio/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/i3pystatus/pulseaudio/__init__.py b/i3pystatus/pulseaudio/__init__.py index 9e42c24..3fb22f5 100644 --- a/i3pystatus/pulseaudio/__init__.py +++ b/i3pystatus/pulseaudio/__init__.py @@ -99,9 +99,8 @@ class PulseAudio(Module, ColorRangeModule): if sink_state == b'RUNNING': bestsink = attribs[1] state = 'RUNNING' - elif (sink_state == b'IDLE' or sink_state == b'SUSPENDED') and state == b'DEFAULT': + elif sink_state in (b'IDLE', b'SUSPENDED') and state == b'DEFAULT': bestsink = attribs[1] - state = b'IDLE' return bestsink def server_info_cb(self, context, server_info_p, userdata):