Tile windows
with a swipe.

Two-finger trackpad gestures on title bars. No keyboard shortcuts. No configuration. Just swipe.

v5.2.1 · macOS 14 Sonoma+ · Universal Binary

Three steps. Zero setup.
Swipey intercepts trackpad scroll events at the system level, detects title bars via accessibility, and tiles windows instantly.

Swipe on a title bar

Place two fingers on any window's title bar and swipe in the direction you want it tiled. Swipey detects the gesture at the system level.

CGEvent.tapCreate(.cgSessionEventTap, ...)

Dead zone, then snap

A 30-point dead zone prevents accidental tiles. Once you cross the threshold, Swipey locks in your direction and shows a live preview.

deadZone: 30pt | compound: 25pt | fullscreen: 150pt

Preview and tile

A translucent preview overlay shows where the window will land. Release the gesture and the window snaps into place instantly.

NSPanel + NSVisualEffectView(.hudWindow)

Eleven positions. Any direction.
Halves, quarters, maximize, fullscreen — every standard tiling layout, triggered by intuitive swipe gestures.
Left Half
← swipe left
Right Half
→ swipe right
Top Half
↑ swipe up
Bottom Half
↓ swipe down
Maximize
↑ swipe up ×2
Top-Left
↖ diagonal
Top-Right
↗ diagonal
Bottom-Left
↙ diagonal
Bottom-Right
↘ diagonal
Fullscreen
↑ swipe up ×3
Restore
↓ swipe down ×2

System-level engineering.
Swipey is built on macOS accessibility and event APIs — no hacks, no injection, no private frameworks.

Architecture

CGEventTap
TitleBarDetector
GestureStateMachine
WindowManager
PreviewOverlay
CursorIndicator
AXUIElement
↑ driven by state transitions ↑

Gesture State Machine

idle
tracking
resolved

began → accumulate deltas → cross dead zone → lock direction → ended → tile

Coordinate Systems

Y X (0,0)
NSScreen — bottom-left origin
Y X (0,0)
CG / Accessibility — top-left origin
cgY = mainScreen.height - nsY

Event Pipeline

// Swipey event pipeline — from hardware to tiled window

CGEventTap.intercept(scrollWheel)          // 1. Capture trackpad scrollfilter  isContinuous && phase != 0      // 2. Reject mouse wheel eventsTitleBarDetector.hitTest(mouseLocation) // 3. AXUIElement under cursor?GestureStateMachine.feed(delta, phase)  // 4. Accumulate, dead zone, lockPreviewOverlay.show(targetFrame)        // 5. Translucent preview panelCursorIndicator.show(direction)         // 6. Direction badge at cursorWindowManager.tile(window, position)    // 7. AXPosition + AXSizereturn nil                               // 8. Consume the event

Ready to swipe?
Download Swipey and start tiling windows with trackpad gestures.
Download Swipey 5.2.1
macOS 14+ Developer ID Signed Apple Notarized
Universal binary. Requires Accessibility permission. Menu bar agent.
Open source on GitHub · MIT License