Skip to content

aki21j/Monnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Automatically connect to a speaker when connected to an external display

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages