Mixxc is a minimalistic and customizable volume mixer, created to seamlessly complement desktop widgets.
Currently, it supports only pulseaudio
and pipewire
(through the pulseaudio interface) by utilizing libpulseaudio
to receive audio events.
```sh
Usage: mixxc [-w
Minimalistic volume mixer.
Options: -w, --width window height -h, --height window width -s, --spacing spacing between clients -a, --anchor screen anchor point: (t)op, (b)ottom, (l)eft, (r)ight -m, --margin margin distance for each anchor point -u, --userstyle path to the userstyle -v, --version print version --help display usage information ```
It is often desirable to be able to position widgets relatively to a screen side.
Two flags will help with this: -a --anchor
and -m --margin
.
Each margin value provided will match every anchor point respectively.
sh
mixxc --anchor left --anchor bottom --margin 20 --margin 30
Mixxc is built with GTK4 and uses CSS to define its appearance.
You will find the style sheet in your config directory after the first launch.
sh
${XDG_CONFIG_HOME:-$HOME/.config}/mixxc/mixxc.css
Mixxc is developed and tested with: * Wayland * Hyprland * PipeWire
If your setup is different and you experience issues, feel free to file a bug report.
If startup seems a bit slow, try this:
sh
GSK_RENDERER=cairo GTK_USE_PORTAL=0 mixxc
Some features can be enabled at compile time. * Sass - Allows you to use SCSS instead of CSS. * Wayland - Uses wlr-layer-shell to imitate window positioning.
Can be installed from crates.io with cargo
:
sh
cargo install mixxc --features ...
To build this little thing, you'll need some Rust.
sh
git clone --depth 1 https://github.com/Elvyria/mixxc
cd mixxc
cargo build --release --features ...