Save a window size once. Apply it to every new window — automatically.
A free, open-source macOS menu bar app that remembers your preferred window sizes per app and automatically applies them to every new window. No subscriptions, no paywalls — just a small native utility that does exactly what it should.
- Save & auto-apply — Size a window once, szn applies it to every new window of that app
- Size or Size + Position — Choose to save just dimensions, or the exact screen placement too
- Per-app profiles — Each app gets its own saved layout
- Instant — Native Swift + macOS Accessibility API, zero overhead
- Menu bar only — Lives in the menu bar, no dock icon, no clutter
- Launch at login — Set it and forget it
- Global toggle — Disable szn temporarily without removing your profiles
- In-app updates — Check for new versions and update without leaving the app
Grab the latest .dmg from the Releases page.
Note: szn is not code-signed with an Apple Developer certificate. On first launch, macOS Gatekeeper will block it. To open:
- Open the
.dmgand drag szn - Window Resizer to Applications- Right-click (or Control-click) the app → Open → click Open
The app automatically handles quarantine removal and accessibility permission setup on macOS Sequoia and later.
Requires Xcode (not just Command Line Tools).
brew install xcodegen
git clone https://github.com/realgarit/szn.git
cd szn
make build-
Grant accessibility permission — szn will prompt you on first launch. Go to System Settings → Privacy & Security → Accessibility and enable szn.
-
Size your window — Open any app and resize its window exactly how you want it.
-
Save it — Click the szn icon in the menu bar → Save Size for Current App (or Save Size & Position).
-
Done. Every new window of that app will automatically get your saved dimensions.
| Action | Description |
|---|---|
| Save Size for Current App | Saves the focused window's width and height |
| Save Size & Position | Saves dimensions + screen position |
| Profiles submenu | View, toggle, apply now, or remove saved profiles |
| Check for Updates | Check GitHub for a newer version and update in-app |
| Settings | Launch at login, global enable/disable, manage profiles |
szn uses the macOS Accessibility API (AXUIElement) to:
- Read the focused window's frame when you save a profile
- Observe new window creation events via
AXObserver - Apply saved dimensions to new windows as they appear
All profiles are stored locally in UserDefaults — no cloud, no telemetry. The only network call is an optional update check against GitHub Releases.
- macOS 13 (Ventura) or later
- Accessibility permission (prompted on first launch)
Contributions are welcome! Feel free to open an issue or submit a pull request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/my-feature) - Commit your changes
- Push to the branch
- Open a Pull Request