diff options
| -rwxr-xr-x[-rw-r--r--] | bluetooth-devices.sh | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/bluetooth-devices.sh b/bluetooth-devices.sh index ead8cae..25819b3 100644..100755 --- a/bluetooth-devices.sh +++ b/bluetooth-devices.sh @@ -1,9 +1,32 @@ # # This program lists all paired devices which you can select from, the selected one -# will be connected +# will be connected / disconnected # -# Opens dmenu prompt, which lets you decide which device you want to connect to +connect_bluetooth() { + local MAC=$1 + local DEVICE=$2 + if bluetoothctl connect $MAC | grep -q 'successful' + then + notify-send -t 5000 -r 2954 -u normal " Connected successfully from" " $DEVICE" + else + notify-send -t 5000 -r 2954 -u normal " Couldn't connect from" " $DEVICE" + fi +} + + +disconnect_bluetooth() { + local MAC=$1 + local DEVICE=$2 + if bluetoothctl disconnect $MAC | grep -q 'successful' + then + notify-send -t 5000 -r 2954 -u normal " Disconnected successfully from" " $DEVICE" + else + notify-send -t 5000 -r 2954 -u normal " Couldn't disconnect from" " $DEVICE" + fi +} + +# Opens dmenu prompt, which lets you decide which device you want to connect to / disconnect from DEVICE=$(bluetoothctl devices | sed 's/[^ ]* //' | sed 's/[^ ]* //' | dmenu -i) # If dmenu was cancelled, exit program @@ -14,10 +37,13 @@ fi # Get MAC adress of the device you selected MAC=$(bluetoothctl devices | grep "$DEVICE" | sed 's/[^ ]* //' | cut -d ' ' -f1) -# Send a notify whether the connection was successful -if bluetoothctl connect $MAC | grep -q 'successful' +# If bluetooth device is already connected, disconnect, else connect +CONNECTED=$(bluetoothctl devices Connected | cut -f3 -d ' ') +if echo $CONNECTED | grep $DEVICE then - notify-send -t 5000 -r 2954 -u normal " Connected successfully to" " $DEVICE" + disconnect_bluetooth $MAC $DEVICE else - notify-send -t 5000 -r 2954 -u normal " Couldn't connect to" " $DEVICE" + connect_bluetooth $MAC $DEVICE fi + + |