Metadata-Version: 2.4
Name: monnect
Version: 1.0.0
Summary: Automatically connect or disconnect a Bluetooth speaker when a specific display is connected on macOS.
Author: Ankit Gupta
License: MIT
Project-URL: Homepage, https://github.com/aki21j/Monnect
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: License :: OSI Approved :: MIT License
Classifier: Environment :: Console
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Monnect

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

Monnect runs as a background LaunchAgent and manages Bluetooth audio based on display state.

---

## Features

- Auto-connect speaker when monitor is detected
- Auto-disconnect when monitor is removed
- Debounced monitor detection (no flicker)
- `monnect doctor` for environment validation
- `monnect status` for live system state
- CLI lifecycle management
- Installable via pipx

---

## Requirements

- macOS
- Python 3.9+
- Homebrew
- blueutil (auto-installed during setup if missing)

---

## Installation

Recommended:

    brew install pipx
    pipx ensurepath
    pipx install monnect

For development:

    git clone https://github.com/aki21j/Monnect.git
    cd Monnect
    pipx install -e .

---

## Setup

Run interactive setup:

    monnect setup

This will:
- Detect available displays
- Detect paired Bluetooth devices
- Install background service

---

## Commands

Start service:

    monnect start

Stop service:

    monnect stop

Check status:

    monnect status

Run diagnostics:

    monnect doctor

Uninstall service:

    monnect uninstall

---

## How It Works

Monnect:
1. Monitors display state using system_profiler
2. Checks Bluetooth state via blueutil
3. Applies debounced logic
4. Connects or disconnects speaker accordingly
5. Runs continuously via macOS LaunchAgent

---

## Development

    pipx uninstall monnect
    pipx install -e .

---

## License

MIT License
