A simple shortcut menu for macOS
This fork is maintained by Young Lue and updated for modern macOS and Apple Silicon development.
Status:
- Builds locally with
xcodebuildon Apple Silicon - Produces app bundles inside the project at
products/Debug/Shuttle.app - Keeps generated build output out of git
- Includes recent compatibility fixes for terminal launching and launch-at-login
This repository is a fork of the original Shuttle project with local changes for modern macOS and Apple Silicon development.
Notable differences in this fork:
- Apple Silicon friendly build setup
- Updated local
xcodebuildworkflow - App output goes to the project-local
products/directory - Generated app bundles and DerivedData are ignored; release artifacts should be attached to GitHub Releases
- Ongoing maintenance by Young Lue
This fork is maintained by Young Lue.
Recent work in this fork includes:
- Apple Silicon build and local development fixes
- Modernized
xcodebuildflow and shared scheme setup - Updated launch-at-login compatibility for modern macOS
- Build output cleanup and project-local app packaging
- README and developer workflow updates for this fork
- Download the latest build from this fork's GitHub Releases page.
- Move
Shuttle.appto/Applications.
- Clone this repository.
- Run:
./scripts/build-debug.sh- The app will be generated at:
products/Debug/Shuttle.app- Move
products/Debug/Shuttle.appto/Applications, or run it directly.
Build locally with:
./scripts/build-debug.shThe built app will be generated at:
products/Debug/Shuttle.appYou can launch it with:
open products/Debug/Shuttle.appIntermediate build data is stored in:
.deriveddata/You can override local build output paths when needed:
SHUTTLE_PRODUCTS_DIR=/tmp/shuttle-products \
SHUTTLE_DERIVED_DATA_PATH=/tmp/shuttle-deriveddata \
./scripts/build-debug.shValidate config fixtures with:
python3 tests/test_config_fixtures.pyThe GitHub Actions workflow runs the fixture validation and a macOS build.
By default Shuttle reads its config from:
~/.shuttle.jsonIt can also read:
~/.shuttle-alt.json~/.ssh/config/etc/ssh_config/etc/ssh/ssh_config
See the Wiki pages.
- Cloud hosting integration
- AWS, Rackspace, Digital Ocean, etc
- Using their APIs, automatically add all of your machines to the menu
- Preferences panel for easier configuration
- Update notifications
- Keyboard hotkeys
- Open menu
- Select host option within menu
The original Shuttle project was created by Trevor Fitzgerald. Many people have contributed improvements over time, and this fork continues that work with Apple Silicon and modern macOS maintenance by Young Lue.
(In alphabetical order)
- Alexis NIVON
- Alex Carter
- bihicheng
- Dave Eddy
- Dmitry Filimonov
- Frank Enderle
- Jack Weeden
- Justin Swanson
- Kees Fransen
- Marco Aurélio
- Martin Grund
- Matt Turner
- Michael Davis
- Morton Fox
- Pluwen
- Rebecca Dominguez
- Rui Rodrigues
- Ryan Cohen
- Stefan Jansen
- Thomas Rosenstein
- Thoro
- Tibor Bödecs
- welsonla
Shuttle was inspired by SSHMenu, the GNOME applet for Linux.
I also looked to projects such as MLBMenu and QuickSmileText for direction on building a Cocoa app for the status bar.