43 lines
1.1 KiB
Bash
Executable File
43 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# -*- sh -*-
|
|
|
|
# cmds=($(bluetoothctl help | cut -d' ' -f1 | sed 's/[\x01-\x1F\x7F]//g' | sed 's/\[[0-9];[0-9]\+m//g'))
|
|
# unset "cmds[2]"
|
|
# unset "cmds[1]"
|
|
# unset "cmds[0]"
|
|
cmds=(list devices power connect disconnect)
|
|
|
|
case $1 in
|
|
h|help|-h|--help)
|
|
echo `This is a simple rofi script to connect to trusted devices.`
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
_rofi() {
|
|
if [ -n "$1" ] ; then
|
|
rofi -dmenu -i -theme applet -p "Bluetooth" -mesg "$1"
|
|
else
|
|
rofi -dmenu -i -theme applet -p "Bluetooth"
|
|
fi
|
|
}
|
|
|
|
choice=$(printf '%s\n' "${cmds[@]}" | _rofi)
|
|
|
|
case "$choice" in
|
|
list|devices)
|
|
bluetoothctl ${choice} | _rofi "bluetoothctl $choice"
|
|
;;
|
|
connect|disconnect)
|
|
device=$(bluetoothctl devices | _rofi "bluetoothctl list")
|
|
device=$(echo $device | cut -d' ' -f2)
|
|
bluetoothctl ${choice} ${device} && notify-send "Bluetoothctl" "${choice}ed from ${device}"
|
|
;;
|
|
power)
|
|
onoff=(on off)
|
|
ans=$(printf '%s\n' "${onoff[@]}" | _rofi "bluetoothctl power")
|
|
bluetoothctl power ${ans} && notify-send "Bluetoothctl" "Power $ans"
|
|
;;
|
|
*)
|
|
esac
|