lx-s / WinMute

WinMute lets you automatically mute your PC volume on certain events (e. g. Screensaver, Workstation Lock, Shutdown, etc.).
BSD 3-Clause "New" or "Revised" License
168 stars 6 forks source link

Mute on screen saver #34

Closed cableghost closed 6 months ago

cableghost commented 6 months ago

Describe the solution you'd like Option to mute on screen saver.

lx-s commented 6 months ago

Hey there,

unfortunately this is a "won't fix". WinMute before 2.2.0 (s. Release-Note https://github.com/lx-s/WinMute/releases/tag/2.2.0) had the ability to Mute on Screensaver. Alas screensaver detection is extremely flaky on Windows as only the current active program gets notified when the screen saver starts, and the notification that the screensaver has ended does not always fire.

Also the implementation needs WinMute to inject its own code into every program so that it can try to get's the message regardless of what is the current active program. Since the code that gets injected has to have the correct bitness (32-bit, vs. 64-bit) I also had to provide a proxy program to handle both cases. To add to this, modern anti cheat software for Overwatch 2 or Diablo got really angsty when they saw the unsigned WinMute.dll injected somewhere.

This combined with the not so robust notifications from Windows led me to drop the feature. Also nowadays most users just let their screen go to standby.

So if you really want to use the feature, you can still download WinMute <2.2.0 and mute on screensaver activation.

Sorry If can't give you better news.