Managing window size and position in OSX
ShiftIt is an application for OSX that allows you to quickly manipulate window position and size using keyboard shortcuts. It intends to become a full featured window organizer for OSX. It is a complete rewrite of the original ShiftIt by Aravindkumar Rajendiran which is not longer under development. For discussing any sort of stuff about this app, please create a new issue right here.
License: GNU General Public License v3
Change logs: change logs are versioned in the repository as well.
A binary build for OSX 10.7+ is available in downloads page. It might still work on OSX 10.6, but it has not been tested.
This build includes support for X11 which might be problematic in 10.8, a fix is discussed in #105.
ShiftIt installs itself in the menu bar (optionally it can be completely hidden). It provides a set of actions that manipulates windows positions and sizes. Following is an example of list of actions available:
Normally, all Cocoa windows and X11 windows are supported. Some applications might not work correctly or not at all. There is a list of known problems. If you find any problem not mentioned there, please submit an issue.
- OSX 10.6+, 64-bit
The primary development is done on OSX 10.7 Lion, but it should be running under OSX 10.6 Snow Leopard as well.
I disabled the
Show Icon in Menu Barin the preferences, how can I get it back?
Launch the application again. It will open the preference dialog.
I pressed a shortcut, but nothing has happened, why?
While most of application windows should work well with ShiftIt, there are some exceptions (like the GTK+ OSX applications). There is a list of known problems. If you find any problem not mentioned in the list, please raise an issue.
I pressed a shortcut, something happened, but not what I expected, why?
ShiftIt is based on a Cocoa Accessibility API and sometimes this API can be a bit fragile and not do exactly what it should. In order to help to improve ShiftIt, please submit an issue every time you find some weird behavior. Before you do please consult the list of known problems. Thanks!
The repository is based on the git flow model. The development therefore happens in the
develop branch. Any contribution is welcomed!
To build ShiftIt locally just clone the repository or get the latest snapshot and execute following command in the
xcodebuild -target ShiftIt -configuration Release
To make a build without X11 support execute following:
xcodebuild -target "ShiftIt NoX11" -configuration Release
Making a release
Releases are handled using fabric. There are some dependencies that can be easily obtained using
The releases are fully automatic which hopefully will help to release more often.
archive- Archives build
build- Makes a build by executing xcodebuild
info- Output all the build properties
prepare_release- Prepare the release: sign the build, generate appcast, generate release notes, commit and push.
print_release_notes- Prints release notes
release- Makes the complete release (same as prepare_release, upload_release)
upload_release- Uploads the release to github