Skip to content

realgarit/szn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

szn logo

szn - Window Resizer

Save a window size once. Apply it to every new window — automatically.

Build Release License: MIT macOS 13+ Downloads


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.

Features

  • 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

Installation

Download

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:

  1. Open the .dmg and drag szn - Window Resizer to Applications
  2. 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.

Build from source

Requires Xcode (not just Command Line Tools).

brew install xcodegen
git clone https://github.com/realgarit/szn.git
cd szn
make build

Usage

  1. Grant accessibility permission — szn will prompt you on first launch. Go to System Settings → Privacy & Security → Accessibility and enable szn.

  2. Size your window — Open any app and resize its window exactly how you want it.

  3. Save it — Click the szn icon in the menu bar → Save Size for Current App (or Save Size & Position).

  4. Done. Every new window of that app will automatically get your saved dimensions.

Menu bar options

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

How it works

szn uses the macOS Accessibility API (AXUIElement) to:

  1. Read the focused window's frame when you save a profile
  2. Observe new window creation events via AXObserver
  3. 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.

Requirements

  • macOS 13 (Ventura) or later
  • Accessibility permission (prompted on first launch)

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/my-feature)
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

About

Free macOS menu bar app that saves window sizes per app and auto-applies them to every new window. A free, open-source alternative to paid window managers.

Topics

Resources

License

Stars

Watchers

Forks

Contributors