#!/usr/bin/env zsh lockFile=~/.mute.flock case $1 in mute) ( flock -n 9 || exit 1 sleep 0.2 pacmd set-source-mute @DEFAULT_SOURCE@ 1 ) 9<>${lockFile} & ;; unmute) set -o pipefail while fuser ${lockFile} 2>/dev/null | cut -d ':' -f 2- | xargs -r -- kill; do sleep 0.001; done pacmd set-source-mute @DEFAULT_SOURCE@ 0 ;; esac