pamix(1)
β¨ PAMIX β¨
okay bestie, sit down, we're talking about pamix from the pamix man page (section 1). she's a pavucontrol-inspired, ncurses-based pulseaudio mixer, and she's literally the moment. π
πΈ NAME πΈ
pamix β a pavucontrol inspired ncurses based pulseaudio mixer
π DESCRIPTION π
PAmix is a pavucontrol inspired ncurses based pulseaudio mixer. that's the whole vibe. it mixes your pulseaudio, in a terminal, with ncurses energy. iconic behavior tbh. π
π¦ CONFIGURATION π¦
pamix gets configured through a file called pamix.conf that lives inside $XDG_CONFIG_HOME β or in $HOME/.config if $XDG_CONFIG_HOME isn't set. so like, she knows where home is. π β¨
π COMMANDS π
PAmix conf files support the following commands, no cap:
bind
π bind π
SYNOPSIS:
bind KEYNAME MIXER-COMMAND [ARGUMENT]
bind is how you glue a keyname to a mixer-command. some mixer-commands need an argument, some don't, so like... read the room. and yes, you can bind one single keyname to multiple mixer-commands. she's polyamorous with keybinds. slay. π«Ά
π PAMIX-COMMANDS π
Pamix-Commands get bound to keys using the bind command, and they're what you use to actually interact with pamix. here's the full roster of what's currently supported β every single one, we're not skipping anybody:
πͺ quit
quit makes PAmix exit. it takes no arguments. bye bestie π
π select-tab
select-tab selects one of these tabs:
- Output Devices
- Input Devices
- Playback
- Recording
- Cards
select-tab takes the number of the tab you want, starting at 0, in the exact order listed above. so 0 is Output Devices, 1 is Input Devices, etc. counting is hard, we know, but you got this. π’
βοΈ select-next and select-prev
these two get the optional argument channel. if you hand them channel, they select the next and previous channels. if you don't give them an argument, they select the next and previous entry in the displayed tab. same energy, different target. π
π set-volume
this one takes a targetvalue as an argument, in the form of a double.
depending on whether channels are locked or not, this command sets the volume of the selected entry/channel to that targetvalue you passed in.
Example: bind 0 set-volume 1.0 β this sets the volume to 100%. full send. π₯
β add-volume
this one takes a deltavalue as an argument, in the form of a double. and yes, the deltavalue can be negative.
Example: bind h add-volume -0.05 β this reduces the volume by 5%. math girlies rise up. π
π cycle-next and cycle-prev
these change the device or port of the currently selected entry. they take no arguments at all. just vibes. β¨
π toggle-lock
toggles whether channels should be locked together for the currently selected entry. takes no arguments. keep your channels close but your lock state closer. π
π toggle-mute
toggles whether the currently selected entry is muted. also takes no arguments. silence is golden, sometimes. π€«
π DEFAULT CONFIGURATION π
here's the stock keybinding situation, out of the box, no setup needed:
F1β show Playback tabF2β show Recording tabF3β show Output devices tabF4β show Input devices tabF5β show Cards tab0-9β set volume to percentage (10%-100%)j/downβ select next channel or entryk/upβ select previous channel or entryh/leftβ decrease volumel/rightβ increase volumecβ un/lock channelss/Sβ select next/previous device/port
ngl bestie, that's the whole default setup. memorize it, or don't, live your truth. π§
and that's a wrap! this lil masterpiece is version V, dated 27 Nov 2024 β go forth and mix, main character. πππ¦β¨π
π¦ where this page comes from
- debian trixie: pamix 2.0-1 Β· MIT
- ubuntu questing: pamix 2.0-1
- ubuntu resolute: pamix 2.0-1.1 Β· MIT
- ubuntu stonking: pamix 2.0-1.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms