A window-based context switcher for the Mac
Objective-C Ruby C++ C


Switch, Window-Based Context Switching

Switch is a window-based (as opposed to application-based) context switcher. By default it is bound to using ⌥⇥ and ⌥⇧⇥ to cycle through the visible windows on the current space. When the interface is active, ⌥W can be used to close windows and ⌥, used to show a preferences window. The main interface looks like this:

Interface Screenshot

This project is functional, but not finished. I'm using it every day, but I could use your help.

Contributions in the form of beers, patches, and issues are appreciated. If a window is being improperly shown or omitted from the interface, please include a snapshot.

Getting Started

Download the latest release, put the application bundle in your /Applications or ~/Applications directory, and run it! It will check for updates automatically so you can stay up to date as the project develops.

Switch requires Mac OS X version 10.9 or newer and is still in development. For a list of known issues, check out the bug tag for general badness and the quirk tag for windows being improperly shown or omitted from the interface.


Stories in Ready Build Status

To check out the project, its submodules, and open in Xcode:

git clone git://github.com/numist/Switch.git
cd Switch/
rake deps
open Switch.xcworkspace

At this point, ⌘R should have you up and running!

The release process uses the project Rakefile; if you have a Developer ID certificate installed, you should be able to run rake release without any issues. Without a Developer ID, the analyze, test, and app targets (and their dependencies) should succeed.


Switch relies on a number of external frameworks, either as submodules or pods. Thanks to the people responsible for them, you've saved me time and tears.