All projects
Every time you plug in an external monitor, macOS picks an arrangement β and itβs usually wrong. You open System Settings β Displays, drag rectangles around, close, and repeat tomorrow. And the day after.
Snap lives in your menu bar. When a display connects, a floating prompt appears: extend right, extend left, extend above, or mirror. Pick one, optionally save it for that display, and it vanishes. On subsequent connections of a known display, Snap silently applies the saved layout and shows a brief toast. Just plug in and go.
Features
- Instant detection β recognises displays on plug-in and at app launch
- Extend or Mirror β visual preset diagrams showing the layout before you apply it
- Per-display memory β remembers layouts by display UUID (different monitors, different configs)
- Rich display info β shows name, screen size, and native resolution (e.g., βDELL U2723QE 27β³ 3840 Γ 2160β)
- Toast notifications β brief confirmation when a saved config applies, with βChangeβ to re-prompt
- Launch at login β set and forget
- Auto-updates β built-in update checking via Sparkle
Technical details
- macOS 15 Sequoia+ required
- Universal binary (Apple Silicon + Intel)
- Swift 6 with strict concurrency
- AppKit + SwiftUI hybrid β NSStatusItem menu bar, NSPanel prompt/toast, SwiftUI views
- Direct distribution with Sparkle 2 auto-updates (EdDSA signed)
- No App Store sandbox β requires unsandboxed access for display configuration APIs
- Zero third-party dependencies for core functionality
- MIT licensed