You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.0 KiB

#!/bin/bash
source stdlib.sh
source sink_names.sh
while getopts 'vs' opt ; do
case "$opt" in
v) verbosity=VERBOSE ;;
s) verbosity=SILENT ;;
esac
done
newSink=${@:$OPTIND:1}
if [ -z "$newSink" ]; then
error "Usage: $0 [OPTION] <sinkId/sinkName>"
error " -v print verbose output"
error " -s don't print any output"
error "Valid sinks:"
error "$(pactl list short sinks)"
exit 1
fi
case "$newSink" in
'bluetooth')
newSink=`pactl list short sinks | grep "$bluetooth_sink_name" | cut -f 1` ;;
'analog')
newSink=`pactl list short sinks | grep analog-stereo | cut -f 1` ;;
'hdmi')
newSink=`pactl list short sinks | grep hdmi-stereo-extra1 | cut -f 1` ;;
esac
pactl list short sink-inputs 2> >(error) |while read stream; do
streamId=$(echo $stream|cut '-d ' -f1)
log "moving stream $streamId"
pactl move-sink-input "$streamId" "$newSink" > >(log) 2> >(error)
done
pacmd set-default-sink "$newSink" > >(log) 2> >(error) # to change toolbar item