- Fix a settings crash where user has no monitors for a moment

- Fix audio assist going out of sync with discord state
- Fixes #330
This commit is contained in:
trigg 2024-04-14 20:23:03 +01:00
parent 5933571297
commit d2bacffff0
2 changed files with 12 additions and 8 deletions

View file

@ -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

View file

@ -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)