From 9ee2786315e41989caccbfea2c701edb7efa2e8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Mon, 14 Sep 2020 18:25:51 +0200 Subject: [PATCH] feat: dmenubluetooth --- configs/packages/default.nix | 1 + packages/scripts/default.nix | 6 ++++++ packages/scripts/dmenubluetooth.sh | 22 ++++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100755 packages/scripts/dmenubluetooth.sh diff --git a/configs/packages/default.nix b/configs/packages/default.nix index a591c54..7a8bdf3 100644 --- a/configs/packages/default.nix +++ b/configs/packages/default.nix @@ -119,6 +119,7 @@ scripts.notetags scripts.booksplit scripts.dmenurandr + scripts.dmenubluetooth scripts.manual-sort ts scripts.vg diff --git a/packages/scripts/default.nix b/packages/scripts/default.nix index 97e06d2..0a0e3f5 100644 --- a/packages/scripts/default.nix +++ b/packages/scripts/default.nix @@ -97,6 +97,12 @@ in rec { script = ./dmenurandr.sh; }; + dmenubluetooth = wrapScript { + packages = [ pkgs.bluez5 pkgs.dmenu pkgs.libnotify ]; + name = "dmenubluetooth"; + script = ./dmenubluetooth.sh; + }; + fkill = wrapScript { packages = [ pkgs.procps pkgs.gawk pkgs.gnused pkgs.fzf pkgs.bash ]; script = ./fkill.sh; diff --git a/packages/scripts/dmenubluetooth.sh b/packages/scripts/dmenubluetooth.sh new file mode 100755 index 0000000..e646a7e --- /dev/null +++ b/packages/scripts/dmenubluetooth.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# UI for connecting to bluetooth devices + +bluetooth_notify() { + notify-send --app-name=" Bluetooth" "$@" +} + +bluetoothctl --timeout 1 -- scan on + +bluetooth_devices="$(bluetoothctl devices | cut -d ' ' -f2-)" + +chosen="$(echo "$bluetooth_devices" | dmenu -i -l 5 -p "Bluetooth device")" +chosen_name="$(echo "$chosen" | cut -d ' ' -f2-)" + +bluetooth_notify "$chosen_name" "Connecting ..." + +if bluetoothctl connect "$(echo "$chosen" | cut -d ' ' -f1)" +then + bluetooth_notify "✔ $chosen_name" "Connected to device." +else + test "$chosen" && bluetooth_notify "❌ $chosen_name" "Failed to connect to device." +fi