An open API service indexing awesome lists of open source software.

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

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