explaingit

mrkai77/loop

10,686SwiftAudience · generalComplexity · 1/5Setup · easy

TLDR

Loop is a free macOS app that lets you snap, resize, and arrange windows using a radial menu or keyboard shortcuts, no dragging required, with layout cycling and edge stashing.

Mindmap

mindmap
  root((loop))
    What it does
      Window snapping
      Radial menu UI
      Keyboard shortcuts
    Features
      Layout cycling
      Window stash
      URL scheme
    Customization
      Menu size and color
      Trigger key choice
      Preview before snap
    Install
      Homebrew
      Direct zip download
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 any window to the left half, right half, or any screen quarter by holding a trigger key and flicking the mouse.

USE CASE 2

Cycle through multiple window layouts for the same shortcut key without planning positions in advance.

USE CASE 3

Temporarily stash windows to the screen edge and recall them with a hover or key press.

USE CASE 4

Script window management actions from a shell script or AppleScript using Loop's URL scheme.

Tech stack

SwiftmacOS

Getting it running

Difficulty · easy Time to first run · 5min

Requires macOS 13 or later.

In plain English

Loop is a free macOS app that helps you move and resize windows on your screen without dragging corners or pulling menus. It works on macOS 13 and later and can be installed via Homebrew or by downloading a zip file from the releases page. The main way to use it is through a radial menu, which appears when you hold down a trigger key you choose. While holding that key, you move your mouse in the direction you want the window to go, such as left half, right half, top quarter, or full screen, and the window snaps there. Before the resize actually happens, an optional preview shows you exactly where the window will land, so you can confirm before committing. You can also skip the mouse entirely and assign keyboard shortcuts to trigger any window action directly. A feature called Cycles lets you press the same key combination multiple times to rotate through a series of window positions in sequence. For example, pressing your resize shortcut once might put a window at the left third of the screen, pressing it again moves it to the left two-thirds, and a third press returns it to its original size. This makes it practical to cycle through layouts without planning them in advance. There is also a Stash feature that lets you push windows to the edge of the screen to hide them temporarily. Hovering near that edge or pressing a key brings them back. The radial menu itself is fully customizable: you can change its size, shape, and colors, or turn it off entirely and rely on keyboard shortcuts only. Loop also supports a URL scheme, so you can trigger window actions from shell scripts or AppleScript. The README lists commands for moving windows to specific positions, switching them to another monitor, and chaining multiple actions in a script. The project is open source and under active development, with a community Discord channel for feedback and questions.

Copy-paste prompts

Prompt 1
Write a shell script that uses the Loop URL scheme to move the frontmost window to the right half of the screen.
Prompt 2
How do I configure Loop to use keyboard shortcuts only, without the radial menu, and set a shortcut for full screen?
Prompt 3
Using Loop's URL scheme, write an AppleScript that cycles my coding window between left-third, center-third, and right-third layouts.
Open on GitHub → Explain another repo

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

Verify against the repo before relying on details.