explaingit

fikovnik/shiftit

5,545Objective-CAudience · developerComplexity · 1/5LicenseSetup · easy

TLDR

A macOS menu-bar app that snaps windows to preset screen positions, left half, right half, corners, full screen, using keyboard shortcuts so you never touch the mouse.

Mindmap

mindmap
  root((repo))
    What it does
      Window snapping
      Keyboard shortcuts
      Menu bar app
    Positions
      Left right halves
      Four corners
      Full screen
    Setup
      Homebrew install
      Accessibility perms
      Unsigned binary
    Status
      Seeking maintainer
      Hammerspoon alternative
      GPL v3 license
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Snap your code editor to the left half and your browser to the right half with one keystroke each.

USE CASE 2

Cycle through half, one-third, and two-thirds window widths by pressing the same shortcut repeatedly.

USE CASE 3

Keep both hands on the keyboard and stop using the mouse to resize and reposition windows while coding.

Tech stack

Objective-CmacOS

Getting it running

Difficulty · easy Time to first run · 5min

Binary is unsigned, open via right-click the first time, Accessibility permissions required in System Preferences.

GPL v3, free to use and modify, but any version you distribute must also be open-source under the same GPL v3 license.

In plain English

ShiftIt is a macOS application that lets you move and resize windows using keyboard shortcuts. Instead of dragging window edges with the mouse, you press a key combination to snap a window to the left half of the screen, the right half, a corner, the full screen, or other preset positions. It runs in the menu bar in the background and can be hidden from the menu bar entirely if preferred. The shortcuts cover snapping windows to the left, right, top, and bottom halves of the screen, as well as to each of the four corners, and to the full screen. There is an optional cycling mode where pressing the same shortcut repeatedly rotates through half-screen, one-third, and two-thirds sizes. Most standard macOS windows work with ShiftIt, though a known compatibility list documents apps that have issues, mostly GTK-based applications. ShiftIt requires macOS 10.7 or later (64-bit) and needs Accessibility permissions turned on in System Preferences so it can control window positions on behalf of the user. The binary is unsigned, so the first time you open it you need to right-click and choose Open rather than double-clicking. The README notes that the project is looking for a new maintainer and that active development has paused in the meantime. A community-maintained alternative that replicates the same functionality using a different automation tool (Hammerspoon) is linked from the README for anyone who needs an actively developed option. ShiftIt is licensed under the GNU General Public License v3. Binaries are available from the releases page, and it can also be installed via Homebrew.

Copy-paste prompts

Prompt 1
ShiftIt is no longer maintained. Help me replicate its left, right, top, bottom, and corner snap shortcuts exactly in Hammerspoon Lua config.
Prompt 2
I use ShiftIt on macOS 13. Explain how to grant Accessibility permissions and customize the default keyboard shortcuts.
Prompt 3
Write an AppleScript that calls ShiftIt to tile my Terminal and VS Code side by side on the left and right halves of the screen.
Open on GitHub → Explain another repo

← fikovnik on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.