aboutsummaryrefslogtreecommitdiff
path: root/dot.local-bin-bt--toggle.sh
diff options
context:
space:
mode:
Diffstat (limited to 'dot.local-bin-bt--toggle.sh')
-rwxr-xr-xdot.local-bin-bt--toggle.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/dot.local-bin-bt--toggle.sh b/dot.local-bin-bt--toggle.sh
new file mode 100755
index 0000000..198fcfe
--- /dev/null
+++ b/dot.local-bin-bt--toggle.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+state=$(gdbus call --system --dest org.bluez --object-path /org/bluez/hci0 --method org.freedesktop.DBus.Properties.Get "org.bluez.Adapter1" "Powered")
+case ${state} in
+ "(<false>,)")
+ new="<true>"
+ ;;
+ "(<true>,)")
+ new="<false>"
+ ;;
+ *)
+ exit 1
+esac
+gdbus call --system --dest org.bluez --object-path /org/bluez/hci0 --method org.freedesktop.DBus.Properties.Set "org.bluez.Adapter1" "Powered" $new >/dev/null