Add an optional grace period to "Display Speakers Only", so people who stop speaking aren't immediately hidden.
This works, but (sensibly) the "overlay_draw" function is only actually called when something changes. This means that if nobody speaks, which forces the overlay to redraw, then nobody will ever be hidden either.
To resolve this, I would have to force the overlay to re-render at least once per second. I have no idea how to do that, as I'm not familiar with GTK :smile:
What do you think, @trigg? Is it acceptable to force a minimum redraw interval of 1 second? It shouldn't actually make any difference to most people since the overlay already redraws multiple times per second in active voice channels.
If yes, how do I do that?
If no, do you have any alternative suggestions for how to implement this feature?
Add an optional grace period to "Display Speakers Only", so people who stop speaking aren't immediately hidden.
This works, but (sensibly) the "overlay_draw" function is only actually called when something changes. This means that if nobody speaks, which forces the overlay to redraw, then nobody will ever be hidden either.
To resolve this, I would have to force the overlay to re-render at least once per second. I have no idea how to do that, as I'm not familiar with GTK :smile:
What do you think, @trigg? Is it acceptable to force a minimum redraw interval of 1 second? It shouldn't actually make any difference to most people since the overlay already redraws multiple times per second in active voice channels.
If yes, how do I do that?
If no, do you have any alternative suggestions for how to implement this feature?
(This addresses #294)