Skip to content

Instantly share code, notes, and snippets.

@versionsix
Forked from ysimonson/bluetooth_sleep.lua
Created September 23, 2021 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save versionsix/9742642453ffc7313cdc944457fd930a to your computer and use it in GitHub Desktop.
Save versionsix/9742642453ffc7313cdc944457fd930a to your computer and use it in GitHub Desktop.
Hammerspoon script to disable bluetooth when the computer is put to sleep. Requires `blueutil` to be installed (`brew install blueutil`).
require "string"
function checkBluetoothResult(rc, stderr, stderr)
if rc ~= 0 then
print(string.format("Unexpected result executing `blueutil`: rc=%d stderr=%s stdout=%s", rc, stderr, stdout))
end
end
function bluetooth(power)
print("Setting bluetooth to " .. power)
local t = hs.task.new("/usr/local/bin/blueutil", checkBluetoothResult, {"--power", power})
t:start()
end
function f(event)
if event == hs.caffeinate.watcher.systemWillSleep then
bluetooth("off")
elseif event == hs.caffeinate.watcher.screensDidWake then
bluetooth("on")
end
end
watcher = hs.caffeinate.watcher.new(f)
watcher:start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment