Compiz-style wobbly windows for macOS. Drag a window and it wobbles like jelly, then settles where you drop it. Optional effects also play when a window is maximized or resized.
Wobbly is a menu bar app with no private APIs and no dependencies.
https://github.com/user-attachments/assets/40bc5530-d253-4d47-bc57-3eccdac83d70
Requires macOS 14 or later, on Apple Silicon or Intel.
Download the DMG from Releases and drag Wobbly to /Applications. The app is not notarized, so the first time you open it macOS will block it: go to System Settings → Privacy & Security and click Open Anyway.
The menu bar icon lets you pick a preset (Subtle, Realistic, Exaggerated, Extreme), fine-tune friction, spring, speedup, mass and mesh density, and toggle the shadow and the maximize and resize effects.
| Permission | Why |
|---|---|
| Accessibility | Watch mouse events and move windows. |
| Screen Recording | Capture the dragged window so it can be drawn deformed. Without it, windows move rigidly. |
When a window is grabbed it is captured with ScreenCaptureKit, drawn on a deformed mesh by Metal in a transparent overlay, and the real window is moved off-screen through the Accessibility API. Once the animation settles, the real window is put back at its final position.
Requires macOS 14 or later and Xcode 26 or later.
swift build # build
swift test # run the physics tests
scripts/build-app.sh # package and sign build/Wobbly.app
build-app.sh signs with your "Apple Development" identity if you have one, or with SIGN_IDENTITY if set. Otherwise it falls back to ad-hoc signing, in which case macOS asks for permissions again after every build.
Wobbly is licensed under the GNU General Public License v3.0 or later. The resize effect is ported from Compiz windows effect, which is GPL-3.0-or-later, so Wobbly is a derivative work under the same license. Third-party notices are in NOTICE.
Compiz-style wobbly windows for macOS. Drag a window and it wobbles like jelly, then settles where you drop it. Optional effects also play when a window is maximized or resized.
Wobbly is a menu bar app with no private APIs and no dependencies.
https://github.com/user-attachments/assets/40bc5530-d253-4d47-bc57-3eccdac83d70
Requires macOS 14 or later, on Apple Silicon or Intel.
Download the DMG from Releases and drag Wobbly to /Applications. The app is not notarized, so the first time you open it macOS will block it: go to System Settings → Privacy & Security and click Open Anyway.
The menu bar icon lets you pick a preset (Subtle, Realistic, Exaggerated, Extreme), fine-tune friction, spring, speedup, mass and mesh density, and toggle the shadow and the maximize and resize effects.
| Permission | Why |
|---|---|
| Accessibility | Watch mouse events and move windows. |
| Screen Recording | Capture the dragged window so it can be drawn deformed. Without it, windows move rigidly. |
When a window is grabbed it is captured with ScreenCaptureKit, drawn on a deformed mesh by Metal in a transparent overlay, and the real window is moved off-screen through the Accessibility API. Once the animation settles, the real window is put back at its final position.
Requires macOS 14 or later and Xcode 26 or later.
swift build # build
swift test # run the physics tests
scripts/build-app.sh # package and sign build/Wobbly.app
build-app.sh signs with your "Apple Development" identity if you have one, or with SIGN_IDENTITY if set. Otherwise it falls back to ad-hoc signing, in which case macOS asks for permissions again after every build.
Wobbly is licensed under the GNU General Public License v3.0 or later. The resize effect is ported from Compiz windows effect, which is GPL-3.0-or-later, so Wobbly is a derivative work under the same license. Third-party notices are in NOTICE.