A lightweight system tray application for Linux that provides per-application volume control through PulseAudio. Inspired by volumeicon
but extended to show individual audio streams from running applications.
- System Tray Integration: Clean system tray icon with intuitive interaction
- Per-Application Control: Individual volume sliders for each audio-producing application
- Real-time Updates: Dynamic discovery of applications playing audio via PulseAudio
- Smart Interaction:
- Left click: Toggle volume control window (show/hide)
- Right click: Context menu with quit option
- Mouse wheel: Adjust master volume
- Streamlined Interface: Clean UI without redundant buttons
- Lightweight: Minimal memory footprint and CPU usage
Download the latest .deb
package from the releases page:
- Go to the releases page
- Download the
.deb
file for your architecture:volmix_*_amd64.deb
for most desktop/laptop systemsvolmix_*_arm64.deb
for ARM-based systems (Raspberry Pi 4+, etc.)
- Install the package:
sudo dpkg -i volmix_*.deb sudo apt-get install -f # Install any missing dependencies
Available Architectures:
amd64
(x86_64) - Most desktop/laptop systemsarm64
(AArch64) - ARM-based systems, Raspberry Pi 4+
Required libraries:
libpulse-dev
- PulseAudio client librarylibgtk-3-dev
- GTK3 GUI frameworklibglib2.0-dev
- GLib utilitiespkg-config
- Package configuration toolbuild-essential
- Compilation toolsautotools-dev autoconf automake
- Build system
Install build dependencies on Debian/Ubuntu:
sudo apt install build-essential autotools-dev autoconf automake \
libpulse-dev libgtk-3-dev libglib2.0-dev pkg-config
-
Generate build configuration:
./autogen.sh
-
Configure the build:
./configure
-
Compile the application:
make
-
Install (optional):
sudo make install
# Start volmix in the background
volmix &
./src/volmix &
The &
runs the application in the background, allowing you to continue using the terminal.
- Left Click: Toggle volume control window (show/hide)
- Right Click: Context menu with quit option
- Mouse Wheel: Adjust master volume
- Window Close: Use window controls or click tray icon to hide
- Ctrl+C: Quit application (when run in foreground)
- PulseAudio: Audio system integration
- GTK3: GUI framework
- Linux Desktop: System tray support (GNOME, KDE, XFCE, etc.)
This is a functional release with complete per-application volume control:
- ✅ System tray integration with toggle behavior
- ✅ Real-time PulseAudio application detection
- ✅ Individual volume controls for each audio stream
- ✅ Master volume control via mouse wheel
- ✅ Clean, streamlined interface
- ✅ Optimized window reuse for better performance
The project uses standard autotools build system and follows C coding conventions. See CLAUDE.md
for detailed development guidelines and architecture information.
Always test GUI applications in background mode to prevent terminal hanging:
./src/volmix &
To stop the application:
pkill volmix
System tray icon not appearing:
- Ensure your desktop environment supports system tray (most do)
- Try restarting your window manager/desktop environment
- Check that
volmix
process is running:ps aux | grep volmix
No applications shown in volume control:
- Make sure applications are actively playing audio
- Verify PulseAudio is running:
pulseaudio --check
- Check PulseAudio applications:
pactl list sink-inputs
Permission or dependency errors:
- Install missing dependencies:
sudo apt-get install -f
- Ensure user is in audio group:
sudo usermod -a -G audio $USER
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit issues and pull requests.
- Bug Reports: Use the issue tracker
- Feature Requests: Open an issue with your ideas
- Development: See
CLAUDE.md
for architecture and development guidelines
Inspired by volumeicon
- thanks to the original developers for the concept and design inspiration.