diff --git a/discover_overlay/audio_assist.py b/discover_overlay/audio_assist.py index ec13293..d007944 100644 --- a/discover_overlay/audio_assist.py +++ b/discover_overlay/audio_assist.py @@ -92,6 +92,12 @@ class DiscoverAudioAssist: elif sink.mute == 0: deaf = False + if deaf != self.last_set_deaf: + self.last_set_deaf = deaf + self.discover.set_deaf_async(deaf) + self.last_set_mute = None + # At this point mute is undefined state + for source in await pulse.source_list(): if source.description == self.source: if source.mute == 1 or source.volume.values[0] == 0.0: @@ -103,10 +109,6 @@ class DiscoverAudioAssist: self.last_set_mute = mute self.discover.set_mute_async(mute) - if deaf != self.last_set_deaf: - self.last_set_deaf = deaf - self.discover.set_deaf_async(deaf) - async def print_events(self, pulse, ev): if not self.enabled: return diff --git a/discover_overlay/settings_window.py b/discover_overlay/settings_window.py index 89abb45..d26e43f 100644 --- a/discover_overlay/settings_window.py +++ b/discover_overlay/settings_window.py @@ -340,10 +340,12 @@ class MainSettingsWindow(): display = Gdk.Display.get_default() if "get_n_monitors" in dir(display): - for i in range(0, display.get_n_monitors()): - v.append_text(display.get_monitor(i).get_model()) - t.append_text(display.get_monitor(i).get_model()) - m.append_text(display.get_monitor(i).get_model()) + count_monitors = display.get_n_monitors() + if count_monitors: + for i in range(0, count_monitors): + v.append_text(display.get_monitor(i).get_model()) + t.append_text(display.get_monitor(i).get_model()) + m.append_text(display.get_monitor(i).get_model()) v.set_active(v_value) t.set_active(t_value)