Skip to content

Flycro/focus-vol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FocusVol

FocusVol banner

FocusVol is a small Windows utility that changes the Windows mixer volume for the currently focused window instead of changing global system volume.

Download latest release

Motivation

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.

Install

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.

Hotkeys

Default hotkeys:

  • Ctrl+Alt+Up: raise focused app volume by the configured step
  • Ctrl+Alt+Down: lower focused app volume by the configured step
  • Ctrl+Alt+M: toggle mute for the focused app
  • Ctrl+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.

Tray Menu

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.

Run

cargo run

For a no-console build:

cargo build --release

Then 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.

Uninstall

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

Notes

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.

License

FocusVol is licensed under the MIT License. See LICENSE.

About

FocusVol is a small Windows utility that changes the Windows mixer volume for the currently focused window instead of changing global system volume.

Topics

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages