Skip to content

Repository files navigation

Leap

CI Release License Platform Swift

A macOS menu-bar hotkey launcher. Bind global hotkeys to apps, shell commands, or scripts; launch / focus / cycle app windows; and see a cheat-sheet overlay of your bindings. Configured with a simple TOML file or an in-app settings window.

Launchers like Raycast and Alfred are powerful, do-it-all tools. Leap isn't trying to be that. It's deliberately minimal and aimed at development workflows — a fast, keyboard-driven way to jump between editors, terminals, and project scripts. No plugin store, no accounts, no background indexing; just a tiny native menu-bar app and a text config. It's much lighter as a result: a single small binary that stays out of your way.

Stack: Swift 6 + AppKit, built with SwiftPM.

Features

  • Menu-bar app (no Dock icon).
  • Global hotkeys bound to per-slot actions:
    • app — launch, focus, or cycle its windows (Accessibility API).
    • command — run in a new terminal window (Ghostty / iTerm2 / Terminal / …).
    • script — run a script file, or an inline one-liner (headless, fire-and-forget; the settings dialog handles files, inline bodies via TOML).
  • Cheat-sheet overlay — hold the trigger key (default ⌥) to see all bindings; entries are clickable. Position/orientation/trigger are configurable.
  • Settings window — a form editor, a raw-TOML editor with syntax highlighting and validation, and a live Logs tab (kept in sync).
  • Config at ~/.config/leap/config.toml with import/export for sharing.
  • Start-at-login (SMAppService) and .app bundling.

Requirements

  • macOS 14+
  • Xcode (Swift 6 toolchain)
  • mise (recommended, for tasks)

Install

Download Leap.app from the latest release (unzip, or open the .dmg and drag it to /Applications).

The app is ad-hoc signed (not notarized), so macOS Gatekeeper will refuse to open it with "Apple could not verify Leap.app is free of malware." Clear the quarantine flag once:

xattr -dr com.apple.quarantine /Applications/Leap.app

Then open it normally. (Alternatively: System Settings → Privacy & Security → Open Anyway.)

Quick start (from source)

mise run setup    # install dev tools + git hooks (first time)
mise run open     # build, bundle, and launch Leap.app

Grant Accessibility permission when prompted (needed to control other apps' windows), then press ⌥1⌥5, or hold for the cheat sheet. Open Settings… from the menu bar (or ⌥,) to edit bindings.

Uninstall

Leap only touches three places. To remove it completely:

  1. Quit Leap and turn off Start at Login first (menu bar → the toggle), so no login item is left behind.
  2. Delete the app: rm -rf /Applications/Leap.app (or wherever you put it, e.g. dist/Leap.app).
  3. Delete the config: rm -rf ~/.config/leap.
  4. Revoke permissions (optional): System Settings → Privacy & Security → Accessibility (and Input Monitoring) → remove Leap.

That's everything — no other files, caches, or hidden state.

Docs

For contributors: CONTRIBUTING.md · ARCHITECTURE.md · RELEASING.md · AGENTS.md

License

See LICENSE.

About

leap between windows on macos

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages