Skip to content

v0.2.0

Choose a tag to compare

@dreamerhyde dreamerhyde released this 03 Sep 12:06
· 16 commits to main since this release

Bluetooth headphones take over the output when they connect

macOS switches the output to wired headphones the moment you plug them in, and iOS does the same for AirPods. A Bluetooth headset reconnecting to a Mac after a spell on the phone gets neither: the sound stays on whatever was playing before. Rule 6 closes that gap.

  • headphonesTakeOver: true — a Bluetooth output device that appears becomes the default output. It is edge triggered: picking another device by hand while the headphones stay connected is respected until they leave and come back. Headphones already connected when Cleat starts do not count as arriving.
  • blockedOutput — devices that must never be the default output. A USB microphone's speaker end is what macOS falls back to when the headphones go; listing it here sends the output to the top of your output list instead.
  • output now only decides what plays when no headphones are around, so the headset does not have to be listed.
  • config.example.json and the README example mirror the shipped setup.

cleat status gains a headphones line and shows the blocked outputs next to outputPin.

Upgrade: brew upgrade --cask cleat. Existing configs keep working; both new keys default to off.