A lightweight macOS menu bar application for running and managing shell scripts with real-time output monitoring.
- Run shell commands directly from the macOS menu bar
- Real-time output display with ANSI color support
- Process management (start, stop, restart, remove)
- Recent commands history
- Detached process recovery (survives app restarts)
- Multiple script execution with individual output windows
-
Clone this repository
-
Build the application:
swiftc -o ScriptRunner ScriptRunner.swift
-
Create the app bundle structure and copy the executable:
# The ScriptRunner.app bundle is already included in the repository # Just rebuild the executable if needed swiftc -o ScriptRunner.app/Contents/MacOS/ScriptRunner ScriptRunner.swift
-
Move
ScriptRunner.appto your Applications folder or run it directly
- Launch ScriptRunner - it appears in your menu bar with a terminal icon
- Click the menu bar icon to access options
- Select "Start Script" to run a new command
- Enter your command (e.g.,
python3 ~/scripts/main.py) - Monitor output in the dedicated output window
- Start Script: Launch a new script with a custom command
- Running Scripts: View and manage currently running scripts
- Show Output: Display the output window
- Stop: Terminate the running process
- Restart: Stop and relaunch the script
- Remove: Remove from the list (only for stopped scripts)
- Recent Scripts: Quick access to previously run commands
- Detached Scripts: Manage processes that survived app restarts
- ● Running: Script is currently executing
- ○ Exited: Script has finished
- ⚠ Detached: Process survived app restart
Output windows support ANSI color codes, making colorized terminal output readable and properly formatted.
ScriptRunner tracks running processes and can recover them after the app restarts, allowing you to manage long-running scripts even if the app crashes or is relaunched.
The last 10 commands are saved for quick re-execution, making it easy to run frequently used scripts.
- macOS 11.0 or later
- Xcode Command Line Tools (for building from source)
This project is open source and available for personal and commercial use.