Automatically resize and position new Finder windows on macOS
- Automatically resize and position new Finder windows
- Center windows or place at custom coordinates
- Multi-display support (main screen or active screen)
- Smooth window transition animations
- Smart exclusions for Quick Look and DMG windows
- Automatic update checking with localized changelogs
- First-launch onboarding with guided Accessibility permission setup
- macOS 14.0 (Sonoma) or later
- Accessibility permission (prompted on first launch)
brew tap LZhenHong/tap
brew install --cask findersnapDownload the latest release from the Releases page.
git clone https://github.com/LZhenHong/FinderSnap.git
cd FinderSnap
xcodebuild -project FinderSnap/FinderSnap.xcodeproj -scheme FinderSnap -configuration Release buildThe built app will be located in the build/Release directory.
Release builds are signed with an Apple Developer ID certificate and notarized by Apple, so FinderSnap opens directly without Gatekeeper warnings — no quarantine removal needed.
Alternatively, build from source to run your own copy.
- Launch FinderSnap - The app icon appears in the menu bar
- Complete Onboarding - On first launch, a guided onboarding walks you through:
- Welcome overview of FinderSnap
- Granting Accessibility Permission (required for window manipulation)
- Quick setup with recommended defaults (resize to 1200×800, center on main screen, smooth animation)
- Configure Settings - Click the menu bar icon and select "Settings" to customize behavior
- Enjoy - New Finder windows will automatically be resized and positioned
- Xcode 15.0+
- macOS 14.0+
# Debug build
xcodebuild -project FinderSnap/FinderSnap.xcodeproj -scheme FinderSnap -configuration Debug build
# Release build
xcodebuild -project FinderSnap/FinderSnap.xcodeproj -scheme FinderSnap -configuration Release build# Configure API key for AI-powered changelog generation
cp .env.example .env
# Edit .env and add your DEEPSEEK_API_KEY
# Full release (changelog + build + tag)
make release
# Or run steps individually
make changelog # Generate changelog from git log
make changelog-diff # Generate changelog from git diff (more accurate)
make build # Build and package app to releases/<version>/ (ad-hoc signed)
make notarize # Build, notarize and package with Developer ID (distribution builds)
make tag # Create git tag
make clean # Clean build artifactsThis project is licensed under the MIT License - see the LICENSE file for details.
- StorageMacro - Swift macro for UserDefaults persistence
- SettingsKit - SwiftUI settings window framework
- MarkdownUI - Markdown rendering in SwiftUI
Made with ❤️ by Eden