blob: cca87468fa4c143a3b1c08b944a339ddbf141f84 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/bin/bash
if [[ -z "$ROFI" ]] ; then
ROFI='rofi -dmenu'
fi
DMENU=($ROFI -i -theme-str '* {theme-color: #88ff88;}')
sinks="$(
pactl list sinks | while read line ; do
case "$line" in
Sink\ \#*)
name="${line//*#}" ;;
Description:\ *)
description="${line//*: }"
echo "$description "'#'"$name"
;;
*) ;;
esac
done)"
client_input="$(
pactl list sink-inputs | while read line ; do
case "$line" in
application.name\ =*)
app="${line//*= \"}"
app="${app%%\"}"
echo "$app: $media "'#'"$obj"
;;
media.name\ =*)
media="${line//*= \"}"
media="${media%%\"}"
;;
Sink\ Input\ \#*)
obj="${line//*#}"
;;
esac
done
)"
echo "Client Input: $client_input"
if [[ "$(wc -l <<< "$client_input")" -gt 1 ]] ; then
client_input="$("${DMENU[@]}" -p "Move Audio From" <<< "$client_input")"
fi
if [[ "$client_input" == "" ]] ; then
exit 1
fi
input_sink=${client_input//*#}
input_sink_name=${client_input%% #*}
selected_sink=$("${DMENU[@]}" -p "Move '$input_sink_name' To" <<< "$sinks")
sink_num=${selected_sink//*#}
echo "Sinks: $sinks"
echo "pactl move-sink-input $input_sink $sink_num"
pactl move-sink-input "$input_sink" "$sink_num"
|