Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # reads sink 0 (default sink) volume and sets all sinks to
- # that same volume.
- # accepts sdtin in format '[-+][1-9]{1,3}%\?\|mute'
- # and sets all sinks to that volume
- # stored in /usr/local/bin
- PACTL_SINKS=$(pactl list sinks)
- SINK_0_VOLUME=$(echo "$PACTL_SINKS" | grep 'Volume' | head -1 | grep -Eo '[0-9]{1,4}%' | head -1)
- ACTIVE_SINKS=$(echo "$PACTL_SINKS" | grep 'Sink' | grep -Eo '#[0-9]{1,2}' | cut -c 2-)
- if [[ "$1" == "mute" ]]; then
- for SINK in $ACTIVE_SINKS;
- do
- pactl set-sink-mute "$SINK" toggle
- done
- pkill -RTMIN+12 i3blocks
- fi
- if [[ -n "$(echo "$1" | grep -Eo '[-+][0-9]{1,3}%')" ]]; then
- for SINK in $ACTIVE_SINKS;
- do
- pactl set-sink-volume "$SINK" "$SINK_0_VOLUME" # set all sinks equal volume
- pactl set-sink-volume "$SINK" "$1" # adjust volume according to input
- done
- pkill -RTMIN+12 i3blocks
- exit 0
- fi
- if [[ -n "$(echo "$1" | grep -Eo '[0-9]{1,3}%')" ]]; then
- for SINK in $ACTIVE_SINKS;
- do
- pactl set-sink-volume "$SINK" "$SINK_0_VOLUME" # set all sinks equal volume
- pactl set-sink-volume "$SINK" "$1" # adjust volume according to input
- done
- pkill -RTMIN+12 i3blocks
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement