A lightweight background utility for adjusting the audio volume of the active application using global hotkeys.
When you press Alt + PageUp or Alt + PageDown, the program dynamically detects the foreground window, resolves its PID along with any child processes, and increments or decrements their audio output level by 1% (can be changed at src/main.c).
You need a C compiler (gcc or clang) along with X11 and PulseAudio development headers:
sudo apt install gcc libx11-dev libpulse-devThis project uses the nob build system.
- Bootstrap the builder:
cc nob.c -o nob
- Build the application:
./nob
Depending on the RELEASE_FLAG defined in nob.c (defaults to false for debug):
- Debug Target (
build/activevolumedebug): Compiles with-O0, debug prints enabled, and AddressSanitizer/UndefinedBehaviorSanitizer checks. - Release Target (
build/activevolumerelease): Compiles with-O2optimizations and stripped symbols.
Run the compiled binary:
./build/activevolumedebugOr run the release target in the background:
./build/activevolumerelease &To make the release version start automatically on Linux startup, you can add it to your desktop environment's startup applications:
- Open Startup Applications (on Linux Mint / Cinnamon).
- Click Add -> Custom Command.
- Set the fields:
- Name:
Active Volume Daemon - Command:
/path/to/activevolume/build/activevolumerelease(replace with the absolute path to your compiled release binary)
- Name:
- Click Save.
The utility is fully ported to Windows and utilizes native Win32 APIs, Toolhelp32 snapshots, and WASAPI COM interfaces.
You need a MinGW-w64 C compiler environment (such as gcc).
- Bootstrap the builder:
cc nob.c -o nob.exe
- Build the application:
.\nob.exe
Depending on the RELEASE_FLAG defined in nob.c:
- Debug Target (
build/activevolumedebug.exe): Runs with a visible console window and outputs debug logs. - Release Target (
build/activevolumerelease.exe): Built with-mwindows, which allows it to run completely silently in the background without launching a Command Prompt.
To make the release version start automatically at Windows startup:
- Press
Win + R, typeshell:startup, and press Enter. - Create a shortcut to
build/activevolumerelease.exeinside this folder.