Write a JavaScript script to snap windows to the left or right half of your screen with a keyboard shortcut.
Automate macOS window layouts so specific apps always open at a set size and position.
Trigger actions, like launching an app or moving a window, when system events happen, such as connecting a monitor.
Share and remix window management configs with the community wiki for ready-made Phoenix configurations.
Requires macOS 10.14 or higher and granting accessibility permission on first launch, install via drag-and-drop or Homebrew.
Phoenix is a small macOS app that lets you control how your windows and applications behave using JavaScript code you write yourself. Instead of clicking through menus to move or resize windows, you write a script that runs automatically. For example, you could write a script that snaps any window to the left half of your screen when you press a certain keyboard shortcut, or that launches a specific app when a USB drive is connected. The app sits in your Mac's status bar at the top of the screen, or runs silently in the background. Phoenix reads a configuration file at a fixed location on your Mac, and every time you edit that file it picks up your changes. You can write your configuration in plain JavaScript or in TypeScript, which is a version of JavaScript with extra type checking. The documentation walks through the full API so you can interact with screens, windows, apps, mouse position, and system events. Installing Phoenix is a simple drag-and-drop into your Applications folder, or a one-line install through Homebrew if you use that. The first time you run it, macOS will ask you to grant it accessibility permission so it can control your windows. This is a standard macOS security step for any app that interacts with the desktop. Phoenix is intended for people who are comfortable writing small scripts and want more control over their window layout than macOS provides by default. The README links to a wiki where other users share their own configuration files as examples. The project requires macOS 10.14 or higher and is currently at version 4.0.1.
← kasper on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.