Skip to content

pablopunk/SwiftShift

Repository files navigation

Sweet window management for macOS

demo-light.mp4

Installation

There are several ways:

  • 💰 Buy it at swiftshift.app (pay what you want)
  • 🍺 Install it with homebrew brew install --cask swift-shift
  • ⬇️ Download the latest release on Github
  • 🚀 Clone it and build it yourself

Features

  • Launch at login
  • Hide menubar icon
  • Focus on window
  • Smart resizing with quadrants
  • Ignore custom apps

Quadrants

quadrants-light.mp4

Contributing

You can either use Xcode (be careful with signing) or build it directly from the command line:

Build and run from the command line

make run

Accessibility permissions running locally

Make sure you don't have Swift Shift running already. If you have 2 versions of Swift Shift, only one will get Accessibility permissions. To fix it:

  • Quit all Swift Shift instances
  • Remove Swift Shift from the System Preferences > Security & Privacy > Accessibility
  • Run the app you want to test
  • Enable Accessibility permissions

I'm open to PRs and requests. If you are looking for something to do, take a look at the issues marked as help wanted.

Release

One-time setup: store notarization credentials in your keychain:

  1. Generate an app-specific password at appleid.apple.com (Sign-In and Security → App-Specific Passwords)
  2. Run:
xcrun notarytool store-credentials "SwiftShift" --apple-id YOUR_APPLE_ID --team-id YOUR_TEAM_ID

It will prompt you to paste the app-specific password.

Then release with a single command:

make release VERSION=0.28.0

This will: bump the version, archive, export, notarize, staple, generate the appcast, create a branch/commit/tag, open a PR with auto-merge, create a GitHub release with the zip attached, and update the Homebrew cask automatically.

If GH_PAT is available in the environment, the release script will use it to push the Homebrew tap update to pablopunk/homebrew-brew.

Star History

Star History Chart

License

MIT License

header header