https://github.com/vacovsky/launch-buddy
A Mac OS menu bar tool for managing a single script run status
https://github.com/vacovsky/launch-buddy
Last synced: 4 days ago
JSON representation
A Mac OS menu bar tool for managing a single script run status
- Host: GitHub
- URL: https://github.com/vacovsky/launch-buddy
- Owner: vacovsky
- License: mit
- Created: 2026-06-01T22:36:48.000Z (20 days ago)
- Default Branch: master
- Last Pushed: 2026-06-01T22:52:27.000Z (19 days ago)
- Last Synced: 2026-06-02T00:22:15.575Z (19 days ago)
- Language: Swift
- Size: 13.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Launch Buddy
macOS tray app that toggles a script on/off with a single click.
## Features
- **Toggle switch** in the menu bar to start/stop your script
- **Brain icon** — hollow when off, filled when running
- **Script output viewer** — live tail with selectable/copyable text, pin to follow or scroll freely
- **Configurable script path** — browse or type any executable path
- **Launch at login** — optional, via system login items
- **Child process cleanup** — script dies when the app quits (process group kill)
## Requirements
- macOS 14+
- Swift 5.9+
## Build & Run
```bash
./run.sh
```
This builds the project and launches the `.app` bundle.
## Usage
1. Click the 🧠 icon in your menu bar
2. Open **Settings…** and enter your script path
3. Toggle the switch to start/stop the script
4. Click **View Output** to see live stdout/stderr
5. Toggle **Launch at login** if desired
## Project Structure
```
Sources/LaunchBuddy/AppSettings.swift
Sources/LaunchBuddy/Info.plist
Sources/LaunchBuddy/LaunchBuddyApp.swift
Sources/LaunchBuddy/MenuBarControl.swift
Sources/LaunchBuddy/NSTextViewWrapper.swift
Sources/LaunchBuddy/OutputView.swift
Sources/LaunchBuddy/ProcessManager.swift
Sources/LaunchBuddy/SettingsView.swift
```
## Notes
- Scripts with `.sh`, `.bash`, `.zsh` extensions are run via `/bin/zsh`
- Non-executable scripts are auto-chmod'd on launch
- Last 1000 lines of output are kept in memory
- Child processes are killed via process group on app quit