A lightweight macOS menu bar app that automatically merges Finder windows into a single tabbed window.
Every time you open a new Finder window, FinderOne detects it and merges all Finder windows into one tabbed window — automatically.
No more cluttered desktops full of Finder windows.
- Automatic merging of new Finder windows into tabs
- Manual "Merge Now" for on-demand merging
- Launch at Login support
- Minimal resource usage — sits quietly in your menu bar
Requires Xcode 15+ and macOS 14+.
git clone https://github.com/Moomo/FinderOne.git
cd FinderOne
make build
make run- Launch FinderOne — it appears in your menu bar
- Click the menu bar icon and grant Accessibility permission when prompted
- That's it — new Finder windows will be automatically merged into tabs
| Permission | Why |
|---|---|
| Accessibility | Required to monitor Finder windows |
| Automation | macOS will prompt on first merge (AppleScript → Finder) |
- Monitors Finder window count via the Accessibility API
- When a new window is detected, waits ~0.5s for it to finish loading
- Runs Finder's built-in
Merge All Windowscommand via AppleScript - If fewer than 2 windows exist, does nothing
This is an Xcode project (not a Swift Package).
make build # Build
make clean-build # Clean + build
make run # Build and open the appRaw xcodebuild command
xcodebuild \
-project Corral.xcodeproj \
-scheme Corral \
-configuration Debug \
-derivedDataPath tmp/DerivedData \
build CODE_SIGNING_ALLOWED=NOCorral/
├── CorralApp.swift # App entry point
├── AppDelegate.swift # App state & orchestration
├── MenuBarView.swift # Menu bar UI
├── MenuBarIconFactory.swift # Menu bar icon
├── FinderWindowMonitor.swift # Finder window monitoring
├── AppleScriptRunner.swift # Finder merge via AppleScript
├── AccessibilityPermissionManager.swift
└── LoginItemManager.swift
- Monitoring is polling-based, not event-driven
- Finder's
Merge All Windowsmay be temporarily unavailable depending on Finder state - Behavior may be affected by future macOS or Finder changes
Issues and pull requests are welcome.
MIT