HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
fikovnik
ShiftIt
Objective-C2010–2023
fikovnik / ShiftIt

ShiftIt

Managing windows size and position in OSX

34Distinct people
40Mentions
1Explicit recommenders
5.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Managing windows size and position in OSX

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

My favorite is ShiftIt. It doesn't do mouse drag but its open-source and has hotkeys - [ctrl+option+cmd+{left|right|up|down}] https://github.com/fikovnik/ShiftIt Another useful…

alanning used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 4:01:40 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year40 dated mentions

Observed mentions: 2010-11-08 00:52:22 UTC to 2023-11-30 15:42:34 UTC.

02468102010-01-01 00:00:00 UTC to 2011-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20102011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20102010-01-01 00:00:00 UTC2011-01-01 00:00:00 UTC101
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC404
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC909
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC716
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC404
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC404
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC404
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
ShiftIt Managing window size and position in OSX Looking for a new maintainer #296. This project is looking for a new maintainer. Until that transition is completed, there will likely not be further development on this project. Alternatives A highly recommended alternative to ShiftIt that can be implemented using Hammerspoon. You can use the ShiftIt Spoon which implements the ShiftIt functionality in Hammerspoon. Additionally there is a step-by-step guide to replicating ShiftIt's features using Hammerspoon yourself: https://github.com/fikovnik/ShiftIt/wiki/The-Hammerspoon-Alternative About Looking for a new maintainer #296. 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. License: GNU General Public License v3 Change logs: change logs are versioned in the repository as well. Download A binary build for OSX 10.7+ is available in releases. Installation Please note, because the binary is not signed, you'll have to "right click" on the application, click "Open", and subsequently click "Open" in the dialog that appears. You only have to do this the first time you launch the newly-downloaded application. User guide 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. Requirements OSX 10.7+, 64-bit The primary development is done on OSX 10.10, but it should be running under OSX 10.7 as well. FAQ How do I turn on/off windows cycling sizes with multiple hotkey presses? If this feature is on, snapping to the left side of the screen (and top, bottom, and right sides) will resize the window to half of the screen. If window is then snapped to the same side of the screen, it will resize to one third of the screen, and then two thirds of the screen. If the feature is off, additional snappings will have no effect and the window will remain at half of the screen. Currently, the only way to accomplish this is by running commands on the command line. To turn the feature on, run: defaults write org.shiftitapp.ShiftIt multipleActionsCycleWindowSizes YES To turn it off, run: defaults write org.shiftitapp.ShiftIt multipleActionsCycleWindowSizes NO I disabled the Show Icon in Menu Bar in 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! ShiftIt wants accessibility access on my Mac but my system preferences don't match the instruction, why? For instructions on accessibility in Mac OS X 10.9.x, see this comment. How to repair Accessibility API permissions? This can be done either using the GUI in System Preferences -> Security & Privacy -> Privacy -> Accessibility where it is necessary to check and uncheck the checkbox which is next to ShiftIt in the Allow the apps below to control your computer. If ShiftIt is not in the list, just drag and drop it there from the Applications folder. Alternatively, this can be also done in a command line, however, this is rather a hack with all potential issues hacks come with. $ sudo sqlite3 '/Library/Application Support/com.apple.TCC/TCC.db' 'update access set allowed=1 where client like "%org.shiftitapp.ShiftIt%"' For instructions on accessibility in Mac OS X 10.9.x, see this comment. If you've upgraded to 10.10, just uncheck and recheck the box to make things work again. Development The repository is based on the git flow model. The development therefore happens in the develop branch. Any contribution is welcomed! Local build To build ShiftIt locally just clone the repository or get the latest snapshot and execute following command in the ShiftIt directory: $ xcodebuild -target ShiftIt -configuration Release To make a build without X11 support execute following: $ xcodebuild -target "ShiftIt NoX11" -configuration Release Brew Cask To install ShiftIt using brew you can use the cask. $ brew install shiftit --cask Making a release First, update the release version in ShiftIt/ShiftIt-Info.plist. NOTE the version is in the file twice; once under <key>CFBundleShortVersionString</key> and again under <key>CFBundleVersion</key>. Make sure you update both! Releases are handled using fabric. There are some dependencies that can be easily obtained using pip: fabric - the build system itself github3 - library for GitHub 3 API pystache - templates NOTE: this is Python2 compatible; it will error out under Python3. Using pipenv, a release environment can be created with the following command: $ pipenv install --two $ pipenv shell Prior to running the commands below, ensure the following environment variables are set: export SHIFTIT_PRIVATE_KEY=~/.shiftit/dsa_priv.pem.gpg # get this from the project contributors export SHIFTIT_GITHUB_TOKEN=~/.shiftit/github.token.gpg # this is your pers
Read the full README on GitHub

What Hacker News says

9 sources
There are a bunch of apps that can do this for you, with varying degrees of automation: ShiftIt (Free/OSS): https://github.com/fikovnik/ShiftIt/tree/shiftit16 DoublePane ($3): http://5amcode.com/ Tyler ($10): http://blog.reflare.com/tagged/tyler SizeUp ($13): http://www.irradiatedsoftware.com/sizeup/ Divvy ($14): http://mizage.com/divvy/ There are some old versions of ShiftIt available in the GitHub downloads, but you might want to compile a more recent version yourself. It's what I use on my 11" MacBook Air, where I mostly use the left-half, right-half, full-screen, and center-window commands. If your use case would be similar, DoublePane might be an easier choice, though it doesn't look like it does centering.
In goomwwm: Get out of my way, Window Manager
* Adium is great. * Growl works very well but the whole notification business (emails + builds + IM + song details…) can be counter productive. Use it lightly. * iTerm2 is the most modern terminal emulator you'll find on Mac OS X. I use it only because I wanted 256 colors and I'm not on Lion. I've never used its more advanced features. * I don't know Notepad++ but I would say Sublime Text 2 (http://www.sublimetext.com/blog/articles/sublime-text-2-beta) and TextMate (http://macromates.com/) may do. You could also try a full blown IDE like Aptana (http://aptana.com/) or RubyMine (http://www.jetbrains.com/ruby/). If you already know Vim, MacVim (https://github.com/b4winckler/macvim) is the way to go for both the GUI and the CLI. * Apple's own Mail.app works well. I've never felt the need to use another app. Microsoft's Outlook is pretty good
Read the rest
, too. * VLC is the obvious choice on Mac OS X too. You might want to install Perian (http://perian.org/) to add support for many exotic formats to Quicktime. For audio, Cog (http://cogx.org/) is nice. * You don't need a CSS editor. Just use your code editor. --- You might be interested in a few other apps: * ClipMenu (multiple clipboards) http://www.clipmenu.com/ * Burn (disc burning) http://burn-osx.sourceforge.net/Pages/English/home.html * Charles (http debugging) http://www.charlesproxy.com/ * DejaMenu (access the menubar from a contextual menu) http://homepage.mac.com/khsu/DejaMenu/DejaMenu.html * HTTP Client (http debugging) http://ditchnet.org/httpclient/ * Notational Velocity (the most elegant AND efficient note taking app ever) http://notational.net/ * Quicksilver (Quicksilver) http://qsapp.com/ * ShiftIt (window positioning) https://github.com/fikovnik/ShiftIt * The unarchiver (opens exotic archive formats) http://wakaba.c3.cx/s/apps/unarchiver.html * Yummy FTP (the best FTP client on Mac OS X) http://www.yummysoftware.com/ * VirtualBox (virtual machines) https://www.virtualbox.org/ * SourceTree (Git/Mercurial GUI) http://www.sourcetreeapp.com/
In Ask HN: Just ordered my first Mac- what apps should I know about?
Try out ZSH if you want to try something slightly different to Bash Package Manager: Homebrew - https://github.com/mxcl/homebrew Terminal/Emulator: iTerm2 - http://www.iterm2.com/ Vim running in iTerm2 via Homebrew Chat Client: Adium - http://adium.im/ MySQL DB GUI: Sequel Pro - http://www.sequelpro.com/ Mail: Sparrow - http://sparrowmailapp.com/ Git GUI: GitX (L) - http://gitx.laullon.com/ Window "manager" : Shiftit - https://github.com/fikovnik/ShiftIt General productivity: I love QuickSilver, however it's been crashing quite frequently on me since I installed Lion, so I'm giving Alfred a try at the moment. Note: all of the above are at least free (lite), if not completely free. I was thrown completely in the deep-end with terminal vim and just took to it as part of my "getting used to Mac" steps, which I think bene
Read the rest
fited me with respect to getting down with the nitty gritty of it and not complaining it was different to my Notepad++ experience prior on Windows.
In Ask HN: Just ordered my first Mac- what apps should I know about?
ShiftIt is great because it's an open source version of many of the other app suggestions you list! The public 1.5 versions on GitHub are missing one important feature: pushing the current window to a second monitor. This is available on the 1.6 branch. I couldn't get it to build with Xcode on OS X Lion, but the author has a very stable 1.6 binary available for download: https://github.com/fikovnik/ShiftIt/issues/72#issuecomment-3...
In Customizing the Mac to behave like Xmonad
I see you found SizeUp. That's also my application of choice. But it doesn't look like you did a lot of research into the available choices, or at least didn't bother listing them. Here's but a handful, for others who are interested: ShiftIt: https://github.com/fikovnik/ShiftIt TileWindows: http://www.carsten-mielke.com/tilewindows.html Mercury Mover: http://www.heliumfoot.com/mercurymover/ ... Or if you like mouse control of window placement: MondoMouse: http://www.atomicbird.com/mondomouse Zooom/2: http://coderage-software.com/zooom/index_green/index.html Cinch: http://www.irradiatedsoftware.com/cinch/ ... Or if you like a bit of both keyboard and mouse: Optimal Layout: http://most-advantageous.com/optimal-layout/ Arrange: http://www.trifle.pl/arrange.html Divvy: http://mizage.com/divvy/ BetterTouchTool and BetterSnapTool: http://blog.b
Read the rest
oastr.net/ Flexiglass: http://www.nulana.com/flexiglass Moom: http://manytricks.com/moom/ And throwing this one in to just show that it can get exotic: http://infinite-labs.net/afloat/ .... I could go on. OS X does not lack for people who disagree with Apple's idea of window management. There's lots of tools out there, if you just look for them :)
In Customizing the Mac to behave like Xmonad

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.