Skip to main content

Automatically connect or disconnect a Bluetooth speaker when a specific display is connected on macOS.

Project description

Monnect

PyPI version Python License CI

Automatically connect or disconnect a Bluetooth speaker when a specific display is connected on macOS.

Monnect runs in the background and watches for a configured external display. When the display is detected, it connects your chosen Bluetooth speaker. When the display is disconnected, it disconnects the speaker.


Why?

If you use:

  • An external monitor at your desk
  • A Bluetooth speaker
  • A MacBook that you dock and undock

You’ve probably manually switched audio devices more times than you’d like.

Monnect automates that.


Installation

Option 1: pipx (Recommended)

pipx install monnect

Option 2: Homebrew

brew tap aki21j/monnect
brew install monnect


Requirements

  • macOS
  • blueutil

Install blueutil with:

brew install blueutil


Setup

Run:

monnect setup

This will guide you through selecting:

  • A display
  • A Bluetooth device

Then start the service:

monnect start


Commands

monnect start - Start background service
monnect stop - Stop background service
monnect status - Show current status
monnect doctor - Validate environment
monnect --version - Show version


How It Works

  • Uses system_profiler to detect display state
  • Uses blueutil to manage Bluetooth connections
  • Runs as a macOS LaunchAgent
  • Polling-based with debounce logic

Uninstall

If installed via pipx:

pipx uninstall monnect

If installed via Homebrew:

brew uninstall monnect
brew untap aki21j/monnect


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

monnect-1.0.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

monnect-1.0.1-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file monnect-1.0.1.tar.gz.

File metadata

  • Download URL: monnect-1.0.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for monnect-1.0.1.tar.gz
Algorithm Hash digest
SHA256 dccda49d0250907e58cd4b5df0ebf9a6716d3899e350e00de651136a2f206c29
MD5 382e69a587d78db93964015015bed6a2
BLAKE2b-256 47b06549eb652a725b1c9c29cc29f011f7a2da5eb5e4af63cdef8057c721a405

See more details on using hashes here.

File details

Details for the file monnect-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: monnect-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for monnect-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b46255efd4738fed983161fb441f5cc2ad1be2ab7062844c12193ec4ff439a60
MD5 d34cb58e0e8c27fafc6424563119530f
BLAKE2b-256 084531a94c35e6a193eeb714ffa9e209f5e137f9e96b2ae75c2e1909932add25

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page