pamix(1)

πŸ“¦
version 2.0 Β· 3 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ 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 tab
  • F2 β€” show Recording tab
  • F3 β€” show Output devices tab
  • F4 β€” show Input devices tab
  • F5 β€” show Cards tab
  • 0-9 β€” set volume to percentage (10%-100%)
  • j/down β€” select next channel or entry
  • k/up β€” select previous channel or entry
  • h/left β€” decrease volume
  • l/right β€” increase volume
  • c β€” un/lock channels
  • s/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