- A lightweight macOS status bar app for monitoring and managing development processes on ports 2000-6000.
- Real-time monitoring using `lsof` commands every 5 seconds.
- Visual status bar icon with color-coded center indicating process count (green=0, red=1-9, orange=10+).
- Dynamic context menu updates every 3 seconds with current processes and kill options.
- One-click process killing for individual or all processes.
- Safe process termination using SIGTERM → SIGKILL strategy.
- Built with `winit` event loop for macOS compatibility.
- Graceful error handling for permission errors and process failures.
- Pure status bar application with no main window.
- Status bar icon provides instant visual feedback with tooltip for exact process count.
- Kill All Processes option terminates all detected development processes.
- Individual process entries in the format "Kill: Port [port]: [process] (PID [pid])".
- Quit option to exit the application.
- Requirements: macOS 10.15+, Rust 1.70+, `lsof` command.
- Installation via cloning repository and building with `cargo build --release`.
- Run the application using `./run.sh` or manually with `cargo run --release`.
- Main thread handles UI events and menu interactions with `winit` event loop.
- Process monitor scans for processes every 5 seconds using `lsof`.
- Menu updates every 3 seconds when processes change.
- Process killing runs in background threads for UI responsiveness.
- Uses `lsof -ti :PORT -sTCP:LISTEN` to detect processes.
- SIGTERM for graceful termination, SIGKILL if process doesn’t terminate within 500ms.
- Monitors ports 2000-6000, covering common development server ports.
- Clean white background with color-coded center for minimal aesthetic.
- Dependencies include `tray-icon`, `winit`, `nix`, `crossbeam-channel`, `tokio`, `anyhow`, `serde`.
- Project structure includes `main.rs`, `lib.rs`, `app.rs`, `process_monitor.rs`, `tray_menu.rs`, `types.rs`.
- Debugging tips for permission errors, process detection issues, and startup failures.
- Licensed under FSL-1.1-MIT License.
- Contribution guidelines include forking, creating feature branches, making changes, adding tests, and submitting pull requests.
- Privacy considerations: no data collection, no network communication, no logging of sensitive information.
- Security considerations: limited to terminating processes you own, no access to system processes or other users' processes.