mirror of
https://github.com/vincentbernat/i3wm-configuration.git
synced 2025-06-21 09:35:40 +02:00
27 lines
954 B
Bash
Executable file
27 lines
954 B
Bash
Executable file
#!/bin/sh
|
|
|
|
# Toggle mute on all sinks or sources.
|
|
|
|
case $1 in
|
|
source|sink)
|
|
pactl list ${1}s \
|
|
| awk '/^(Source|Sink) / { source=substr($2,2) }
|
|
/^\tName: .*.monitor$/ { source=0 }
|
|
/^\tDescription: / { sub("^[^:]*: ", ""); descriptions[source] = $0 }
|
|
/^\tMute: / { if (source > 0) muted[source] = ($2 == "yes") }
|
|
END {
|
|
if (length(muted) == 0) exit;
|
|
allmuted=1;
|
|
for (source in muted) {
|
|
if (!muted[source]) {
|
|
allmuted=0;
|
|
}
|
|
}
|
|
for (source in muted) {
|
|
print "echo "(allmuted?"🔊":"🔇")" "descriptions[source]
|
|
print "pactl set-'$1'-mute "source" "(!allmuted);
|
|
}
|
|
}' \
|
|
| sh
|
|
;;
|
|
esac
|