FocusVol is a small Windows utility that changes the Windows mixer volume for the currently focused window instead of changing global system volume.
I got fed up with games blasting my ears off till I get to the settings screen. I didn't find a way to do this natively on Windows, so I created this little minimal tool to achieve this. The memory footprint was also important for me, FocusVol should use roughly 15 MB RAM in idle, which is fine for me.
Don't expect any major Feature Updates, I mostly built this for myself. If I get annoyed by another related thing I might add it, who knows.
Download the latest release zip,
extract it, and run focusvol.exe. FocusVol is a tray utility, right-click the
tray icon for settings and hotkeys.
Release binaries are unsigned. Windows may show a SmartScreen warning. You can build from source with Cargo if you prefer to run your own binary. Release zips include a SHA256SUMS.txt file for checksum verification.
Default hotkeys:
Ctrl+Alt+Up: raise focused app volume by the configured stepCtrl+Alt+Down: lower focused app volume by the configured stepCtrl+Alt+M: toggle mute for the focused appCtrl+Alt+Q: quit FocusVol
Holding volume up/down repeats the change. The repeat starts after a short delay and accelerates while the shortcut remains held.
The overlay appears near the bottom of the monitor that contains the focused window, disappears automatically, and can be dismissed immediately with its close button. It fades in and out rather than appearing abruptly.
FocusVol adds a tray icon when the Windows notification area is available. Right-click it to change runtime settings:
- volume step: 2%, 5%, or 10%
- overlay enabled/disabled
- Start with Windows enabled/disabled
- individual hotkeys with a press-a-hotkey capture window
- quit
Runtime settings are persisted to:
%APPDATA%\FocusVol\settings.ini
When assigning an individual hotkey, choose the action from the tray menu, then
press the desired shortcut in the capture window. Use at least one modifier
(Ctrl, Alt, Shift, or Win) Esc cancels.
cargo runFor a no-console build:
cargo build --releaseThen run target\release\focusvol.exe.
The release binary embeds its tray and overlay artwork, so no external asset files are needed next to the executable.
Quit FocusVol from the tray menu, disable Start with Windows if it is enabled,
delete focusvol.exe, and optionally remove the settings folder:
%APPDATA%\FocusVol
The tool adjusts audio sessions whose process id matches the process id of the foreground window or one of its child processes. This improves support for browsers, Electron apps, and other apps that play audio through helper processes. Some sandboxed or brokered apps may still expose audio in a process that is not part of the foreground window's process tree.
FocusVol controls Windows mixer sessions. Browsers are usually controlled as a browser-wide app/session, not per tab.
FocusVol is licensed under the MIT License. See LICENSE.
