first commit
This commit is contained in:
commit
6fbb627336
32
VolumeMenu/volume
Executable file
32
VolumeMenu/volume
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
SINKS=$(pactl list short sinks | awk '{print $2}')
|
||||
|
||||
declare -A sink_map
|
||||
|
||||
options=""
|
||||
first=true
|
||||
while read -r sink; do
|
||||
device=$(echo "$sink")
|
||||
device_name=$(pactl list sinks | grep -A 20 "$device" | grep "Description:" | awk -F: '{print $2}' | xargs)
|
||||
|
||||
if [ "$first" = true ]; then
|
||||
options+="$device_name"
|
||||
first=false
|
||||
else
|
||||
options+="\n$device_name"
|
||||
fi
|
||||
sink_map["$device_name"]="$device"
|
||||
done <<< "$SINKS"
|
||||
|
||||
CHOSEN=$(echo -e "$options" | dmenu -l 10 -i -p "Select Audio Output")
|
||||
|
||||
if [ -n "$CHOSEN" ]; then
|
||||
CHOSEN_SINK=${sink_map["$CHOSEN"]}
|
||||
pactl set-default-sink "$CHOSEN_SINK"
|
||||
|
||||
for stream in $(pactl list short sink-inputs | awk '{print $1}'); do
|
||||
pactl move-sink-input "$stream" "$CHOSEN_SINK"
|
||||
done
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user