DynamicNotch
Turn the MacBook notch into a living native surface.
DynamicNotch is a native macOS app for notched MacBooks that turns the notch into a live system surface for media, downloads, AirDrop, timers, screen recording, connectivity events, lock-screen transitions, and custom hardware HUDs.
🧐 Why DynamicNotch
The app is built with SwiftUI and AppKit, so the notch window, settings UI, and event handling feel like part of macOS rather than a web-style overlay.
The difference between this project and others is that it is built on its own engine, and not taken from other ready-made repositories. It completely copies the logic, animations, and behavior of a real Dynamic Island on an iPhone, unlike other projects.
The main goal is to make the project as native as possible, both in terms of design and interaction.
🎯 Highlights
- Live Activities: Now Playing (media control, album artwork, audio visualizer, customizable progress bar tint style), Downloads progress, AirDrop, Timer, Screen Recording indicator, Focus mode, Personal Hotspot, and Lock Screen media/live activity surfaces.
- Temporary Alerts: Interactive HUD status for battery charging, low/full battery, Bluetooth connections, Wi-Fi, VPN, Focus-off toggling, and notch size modification settings feedback.
- Gestures & Swipe Controls: Native interactive gestures including mouse drag, trackpad swipes, vertical swipe-to-dismiss/restore with adaptive corner radii and swipe-aware blur, and horizontal trackpad/mouse scroll-to-dismiss.
- Fluid Physics Animations: True-to-life replication of the iOS Dynamic Island's motion design, featuring responsive physics-based spring animations, jelly-like morphing transitions, and synchronized content interpolation that matches the stretch, squash, and elastic behavior of Apple's implementation.
- Dynamic Island (Floating Capsule): Automatic support for devices without a physical hardware notch (e.g. non-notched MacBooks, iMac, Mac mini, or external monitors). Transitions to a floating capsule shape (
DynamicIslandShape) whentopInset == 0, utilizing dynamic, smooth corner radius transitions.
- Deep Customization: Personalization options for base notch width/height, stroke options, background styling, animation presets, custom screen/display selection, and fullscreen spaces handling.
📦 Installation
- Download the latest DMG from the Releases page.
- Drag
DynamicNotchintoApplications. - Launch the app.
- Grant the permissions needed for the features you want to use.
- If macOS blocks the first launch, allow it from
System Settings > Privacy & Security.
✅ Requirements
- macOS 14.6 or later
- Works on both notched MacBooks and non-notched displays (automatically rendering as a floating Dynamic Island capsule)
- Feature-specific permissions as needed:
🛠️ Build From Source
git clone https://github.com/jackson-storm/DynamicNotch.git
cd DynamicNotch
open DynamicNotch.xcodeproj
Then run the DynamicNotch scheme from Xcode. Swift Package Manager dependencies are resolved by the project.
💻 Gallery
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Note: This gallery displays only a selection of the events, live activities, and temporary alerts supported by DynamicNotch. Many other states, animations, and system transitions are supported.
🧰 Tech Stack
- SwiftUI for notch content and settings UI
- AppKit for windows, input handling, and macOS integration
- Combine for feature and settings streams
- Lottie for animation assets
🌍 Localization
DynamicNotch features full native localization support for 38+ languages across interface elements, notch activities, and settings. You can switch languages instantly in the app settings.
💖 Support
Without your support, the project will not be able to develop. If you would like to support the project, you can do so via:
Services
- Boosty: Support development or subscribe
- Donation Alerts: One-time donation via cards or crypto
Cryptocurrency
- USDT (TRC-20):
TWYo42HQNuXSA5gmVoVV1973ScPqCtduvA - USDT (ERC-20):
0xd3261630d7EC2484A3fcf5315f194B58834ab891 - Bitcoin (BTC):
bc1qw29074zwlp600rhvjat2v7ks53h835tthfj7dx
🤝 Acknowledgements
Special thanks to the following open-source projects and services that make DynamicNotch possible:
- Lottie for iOS — for rendering premium, smooth vector animations.
- LRCLIB — for providing the main engine for synchronized lyrics search.
- Lyrics.ovh — for serving as a fallback database for static song lyrics.
- mediaremote-adapter — for MediaRemote API integration.
📄 License
DynamicNotch is released under the GNU General Public License v3.0. See LICENSE for details.











