dotfiles/raycast-scripts/airpods-connect.applescript
2023-05-14 09:03:59 +02:00

34 lines
1,006 B
AppleScript
Executable file

#!/usr/bin/osascript
# @raycast.schemaVersion 1
# @raycast.title Switch to AirPods
# @raycast.mode silent
# @raycast.packageName Audio
# @raycast.icon 🎧
# https://gist.github.com/ieatfood/814b065964492f71f728da59a47413bc?permalink_comment_id=3895031#gistcomment-3895031
use framework "IOBluetooth"
use scripting additions
set AirPodsName to "AirPods"
on getFirstMatchingDevice(deviceName)
repeat with device in (current application's IOBluetoothDevice's pairedDevices() as list)
if (device's nameOrAddress as string) contains deviceName then return device
end repeat
end getFirstMatchingDevice
on toggleDevice(device)
set quotedDeviceName to quoted form of (device's nameOrAddress as string)
if not (device's isConnected as boolean) then
device's openConnection()
end if
do shell script "/opt/homebrew/bin/SwitchAudioSource -s " & quotedDeviceName
return "Connecting " & (device's nameOrAddress as string)
end toggleDevice
return toggleDevice(getFirstMatchingDevice(AirPodsName))