Automatically start and position your apps on macOS with a single click - perfect for dual monitor setups!
Every morning, you manually:
- Open 5+ applications
- Drag each window to the correct position
- Resize them to the perfect size
- Waste 5-10 minutes doing the same repetitive task
There has to be a better way!
A simple AppleScript that:
- β Starts all your apps automatically
- β Positions every window exactly where you want it
- β Works with dual/triple monitor setups
- β Requires zero additional software (native macOS only!)
- β Takes 30 seconds to set up
- β Saves you 30+ hours per year
- π One-Click Startup - Double-click to launch your entire workspace
- π₯οΈ Perfect Positioning - Every window in its exact place, every time
- βοΈ Easy Customization - Simple copy & paste to add new apps
- π― Zero Dependencies - Uses only built-in macOS features
- π Privacy-First - Everything runs locally, no cloud services
- π Well Documented - Complete guide included (German & English)
πΊ Video Tutorial Coming Soon! I'm creating a complete video walkthrough. Subscribe to the newsletter for updates!
- Open Script Editor (Applications β Utilities β Script Editor)
- Copy the content of scripts/read-window-positions.scpt
- Paste and click Run βΆ
- Copy the output from the "Result" window
- Copy scripts/launch-workspace.scptas a template
- Replace the app names and positions with your values from step 1
- Save as Application (File β Save, Format: "Application")
- Done! Double-click to launch your workspace
- System Preferences β General β Login Items
- Click + and add your saved app
- Your workspace now starts automatically at login!
- π¬π§ English Quick Guide - You are here
- π©πͺ Comprehensive German Documentation - Detailed step-by-step guide with examples
macos-workspace-automation/
βββ README.md                          # Quick start guide (English)
βββ DOCUMENTATION.md                   # Detailed guide (German)
βββ scripts/
β   βββ read-window-positions.scpt     # Script to read current positions
β   βββ launch-workspace.scpt          # Main workspace launcher script
βββ examples/
β   βββ example-workspace.scpt         # Example configuration
βββ LICENSE                            # MIT License
βββ .gitignore                         # Git ignore file
The read-window-positions.scpt script scans all open windows and outputs:
App: Visual Studio Code (1 Window)
Window 1: My Project
  Position: x=0, y=23
  Size: 1920 x 1057
The launch-workspace.scpt script:
-- Start apps
tell application "Visual Studio Code" to activate
delay 1
-- Position windows
tell application "System Events"
    tell process "Electron"
        set position of window 1 to {0, 23}
        set size of window 1 to {1920, 1057}
    end tell
end tellThis example workspace includes:
- Visual Studio Code - Main editor on left monitor
- Browser (Comet) - Documentation on right monitor
- Notes - Top right for quick reference
- Docker Desktop - Bottom right for monitoring
- Finder - File browser on second monitor
Result: Perfect workspace in 3 seconds! β‘
- 
Open the app and position it where you want it 
- 
Run read-window-positions.scpt
- 
Find your app in the output: App: Activity Monitor (1 Window) Position: x=2100, y=800 Size: 900 x 600
- 
Add to your workspace script: tell application "Activity Monitor" to activate delay 0.5 tell application "System Events" tell process "Activity Monitor" set position of window 1 to {2100, 800} set size of window 1 to {900, 600} end tell end tell 
- Process names are often in English, even if your system language is German
- German: "AktivitΓ€tsanzeige" β Process: "Activity Monitor"
- German: "Systemeinstellungen" β Process: "System Settings"
 
- Electron apps (VS Code, Slack, Discord, etc.) have the process name "Electron"
- Add longer delayfor heavy apps (e.g., Docker Desktop needs 2 seconds)
Perfect for:
- π» Developers - Instant coding environment
- β‘ Power Users - Maximum productivity
- π― Content Creators - Organized creative workspace
- π₯οΈ Dual Monitor Users - Perfect window management
- π’ Remote Workers - Consistent workspace anywhere
- π Data Analysts - All tools in the right place
| Feature | This Script | Moom | Rectangle Pro | BetterSnapTool | 
|---|---|---|---|---|
| Price | Free | $10 | $10 | $3 | 
| Customization | Unlimited | Limited | Limited | Limited | 
| No Dependencies | β | β | β | β | 
| Version Control | β | β | β | β | 
| Learning Experience | β | β | β | β | 
- β 100% Free - No subscriptions or licenses
- β Fully Customizable - Every detail under your control
- β Educational - Learn AppleScript and automation
- β Portable - Works on any Mac
- β Transparent - You see exactly what happens
- β Future-Proof - No dependency on third-party updates
- All processing is local - No data leaves your Mac
- No network access - Works completely offline
- Open source - Review the code yourself
- No tracking - Zero analytics or telemetry
- System Events permission required - Standard macOS accessibility feature
- macOS 10.15 (Catalina) or newer
- Accessibility permission for Script Editor
- System Preferences β Privacy & Security β Accessibility
- Enable "Script Editor"
 
Contributions are welcome! Feel free to:
- π Report bugs
- π‘ Suggest features
- π Improve documentation
- π Submit pull requests
MIT License - see LICENSE file for details.
Steven Noack
- GitHub: @MacStenk
- Inspired by the need for a simple, free workspace automation solution
- Built with native macOS technologies
- Thanks to the AppleScript community
Made with β€οΈ for productivity enthusiasts
Star β this repo if it saved you time!