Added bt status script
This commit is contained in:
parent
2ff1814560
commit
d04260976c
2 changed files with 62 additions and 0 deletions
46
Bin/bluetooth_headphones_status.sh
Executable file
46
Bin/bluetooth_headphones_status.sh
Executable file
|
@ -0,0 +1,46 @@
|
|||
#!/bin/zsh
|
||||
DIR=$(dirname $0)
|
||||
CMD=$1
|
||||
|
||||
# Get the first bluetooth device info
|
||||
# This comes as a CSV
|
||||
BT_SINK=$(pacmd list-cards | $DIR/bt_dev_info.awk | grep "bluez" | head -n 1)
|
||||
|
||||
if [ ! -z ${BT_SINK} ]; then
|
||||
# if there is a device connected, then we can either list or change profile
|
||||
# otherwise we do nothing
|
||||
id=$(echo ${BT_SINK} | cut -d "," -f 1)
|
||||
current_profile=$(echo ${BT_SINK} | cut -d "," -f 4)
|
||||
case ${current_profile} in
|
||||
"<a2dp_sink>")
|
||||
icon="headphones"
|
||||
next_profile="headset_head_unit"
|
||||
;;
|
||||
"<headset_head_unit>")
|
||||
icon="phone"
|
||||
next_profile="a2dp_sink"
|
||||
;;
|
||||
*)
|
||||
icon="unknown"
|
||||
next_profile=""
|
||||
;;
|
||||
esac
|
||||
case $CMD in
|
||||
"toggle_profile")
|
||||
pacmd set-card-profile ${id} ${next_profile}
|
||||
;;
|
||||
*)
|
||||
case ${current_profile} in
|
||||
"<a2dp_sink>")
|
||||
echo ""
|
||||
;;
|
||||
"<headset_head_unit>")
|
||||
echo ""
|
||||
;;
|
||||
*)
|
||||
echo "-"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
16
Bin/bt_dev_info.awk
Executable file
16
Bin/bt_dev_info.awk
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/awk -f
|
||||
BEGIN {
|
||||
FS = "([ ]?:[ ])|([ ]=[ ])";
|
||||
print "INDEX,NICE_NAME,DEVICE,ACTIVE_PROFILE"
|
||||
count = 0;
|
||||
}
|
||||
/index/ { i=$2; indices[count++] = $2 }
|
||||
/^\s+name:/ { names[i] = $2 }
|
||||
/^\s+active profile:/ { profiles[i] = $2 }
|
||||
/^\s+device\.description/ { nice[i] = $2 }
|
||||
END {
|
||||
for (j=0; j<count; j++) {
|
||||
i=indices[j];
|
||||
print i "," nice[i] "," names[i] "," profiles[i]
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue