41 lines
1.6 KiB
Bash
Executable file
41 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
|
|
function btstatus(){
|
|
# device_mac_list=
|
|
device_json_array=()
|
|
|
|
for m in $(bluetoothctl devices Paired | awk '{print $2}');do
|
|
IFS='' read -rd "\n" dev_name dev_icon dev_connected <<<$(bluetoothctl info "${m}" | grep -e 'Connected\: \|Name\:\|Icon\:' | sed 's/.*: //g')
|
|
# IFS='' read -rd "\n" dev_name dev_icon dev_connected <<<$(bluetoothctl info "${m}" | grep -e 'Connected\: \|Name\:\|Icon\:' | sed -n 's/.*: //p')
|
|
# IFS="\n" read -r dev_name dev_icon dev_connected <<<$(bluetoothctl info "${m}" | grep -e 'Connected\: \|Name\:\|Icon\:' | sed -n 's/.*: //p')
|
|
case "${dev_icon}" in
|
|
"input-mouse")
|
|
dev_icon="";;
|
|
"phone")
|
|
dev_icon="";;
|
|
"input-keyboard")
|
|
dev_icon="";;
|
|
"input-gaming")
|
|
dev_icon="";;
|
|
"audio-headphones")
|
|
dev_icon="";;
|
|
"audio-headset")
|
|
dev_icon="";;
|
|
"computer")
|
|
dev_icon="";;
|
|
esac
|
|
# device_json=$( jq -n --arg name "${dev_name}" --arg connected "${dev_connected}" --arg icon "${dev_icon}" --arg address "${m}" '{name: $name, connected: $connected, icon: $icon, address: $address}')
|
|
# device_json_array+=("${device_json}")
|
|
printf 'Address: %s\nName: %s\nIcon: %s\nConnected: %s\n\n' "${m}" "${dev_name}" "${dev_icon}" "${dev_connected}"
|
|
# printf '%s;%s;%s;%s\n' "${m}" "${dev_name}" "${dev_icon}" "${dev_connected}"
|
|
done #| column -t -N address,name,icon,connected -s ';'
|
|
# devices_json=$(printf '%s\n' "${device_json_array[@]}" | jq -s .)
|
|
# echo ${devices_json}
|
|
}
|
|
|
|
btstatus
|
|
|
|
dbus-monitor --profile "interface='org.blueman.Applet',member='MenuChanged'" | while read -r event; do
|
|
btstatus
|
|
done
|