BIG reorganisation.
This commit is contained in:
parent
3be3ccbbea
commit
e20e00ef8a
122 changed files with 36 additions and 109 deletions
65
_gui/_scripts/selector-audio
Executable file
65
_gui/_scripts/selector-audio
Executable file
|
@ -0,0 +1,65 @@
|
|||
#!/bin/sh
|
||||
|
||||
div="---"
|
||||
|
||||
set_output() {
|
||||
sel_sink=$(printf "$sinks\\n$div\\nback\\n$div\\nexit" | dmenu -l 20 -c -i -p "select output device")
|
||||
case "$sel_sink" in
|
||||
back) show_current ;;
|
||||
exit) exit ;;
|
||||
*) pactl set-default-sink $(pactl list sinks | grep -B 1 "$sel_sink" | awk -F': ' '/Name:/ {print $2}') ;;
|
||||
esac
|
||||
#kill -46 $(pidof dwmblocks)
|
||||
show_current
|
||||
}
|
||||
|
||||
set_input() {
|
||||
sel_source=$(printf "$sources\\n$div\\nbluetooth profile\\n$div\\nback\\n$div\\nexit" | dmenu -l 20 -c -i -p "select input device")
|
||||
case "$sel_source" in
|
||||
back) show_current ;;
|
||||
exit) exit ;;
|
||||
bluetooth*) set_bt_profile ;;
|
||||
*) pactl set-default-source "$(pactl list sources | grep -B 1 "$sel_source" | awk -F': ' '/Name:/ {print $2}')" ;;
|
||||
esac
|
||||
#kill -46 $(pidof dwmblocks)
|
||||
show_current
|
||||
}
|
||||
|
||||
set_bt_profile() {
|
||||
bt_sink=$(pactl list cards | awk -F'"' '/device.name.*bluez/ {print $2}')
|
||||
[ -z "${bt_sink}" ] &&
|
||||
{ notify-send -t 2000 -u critical "ﳌ no headphones connected"; exit; }
|
||||
profile_chosen=$(printf "profile mSBC\\nprofile LDAC\\n$div\\nback\\nexit" | dmenu -l 20 -c -i -p "select bluettoth profile")
|
||||
case "$profile_chosen" in
|
||||
back) show_current ;;
|
||||
exit) exit ;;
|
||||
profile*mSBC) pactl set-card-profile $bt_sink headset-head-unit-msbc
|
||||
pactl set-default-source $(pactl list sources short | awk '/bluez_input/ {print $2}') ;;
|
||||
profile*LDAC) pactl set-card-profile $bt_sink a2dp-sink-ldac ;;
|
||||
*) show_current ;;
|
||||
esac
|
||||
pactl set-default
|
||||
}
|
||||
|
||||
show_current() {
|
||||
def_snk=$(pactl list | grep -A 1 "Name: $(pactl get-default-sink)\$" | awk -F': ' '/Description: / {print $2}')
|
||||
def_src=$(pactl list | grep -A 1 "Name: $(pactl get-default-source)\$" | awk -F': ' '/Description: / {print $2}')
|
||||
chosen=$(printf "output: $def_snk\\ninput: $def_src" | dmenu -l 20 -c -i -p "current audio devices")
|
||||
if [ "$1" = "no_switch" ]; then
|
||||
case "$chosen" in
|
||||
*) notify-send -t 2000 -u critical "婢 no device to switch" ;;
|
||||
esac
|
||||
else
|
||||
case "$chosen" in
|
||||
output*) set_output ;;
|
||||
input*) set_input ;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
sinks=$(pactl list sinks | awk -F': ' '/Description:/ {print $2}')
|
||||
sources=$(pactl list sources | grep -v 'Monitor of ' | awk -F': ' '/Description:/ {print $2}')
|
||||
[ "$(echo "$sinks" | wc -l)" -lt 2 ] &&
|
||||
{ show_current no_switch; exit; }
|
||||
|
||||
show_current
|
Loading…
Add table
Add a link
Reference in a new issue