#!/bin/sh dev=$(bluetoothctl devices | sed -e 's/Device \(..:..:..:..:..:..\) \(.*\)/\2|\1/g' | column -t -s '|' | while read -r device do id=$(echo "$device" | grep -o '..:..:..:..:..:..') if bluetoothctl info "$id" | grep Connected | grep yes > /dev/null; then printf " 󰂱 " else printf " " fi echo " $device" done | wofi --dmenu | grep -o '..:..:..:..:..:..') [ -z "$dev" ] && exit name=$(bluetoothctl info "$dev" | grep Name: | sed 's/^\s*Name:\s*//g') if bluetoothctl info "$dev" | grep Connected | grep yes > /dev/null; then bluetoothctl disconnect "$dev" dunstify "Bluetooth" "Disconnected $name" else bluetoothctl connect "$dev" dunstify "Bluetooth" "Connected $name" fi