DEV Community

Cover image for I turned the cutout in the MacBook screen into a dynamic user interface element (DynamicNotch for macOS)
Evgeniy Petrukovich
Evgeniy Petrukovich

Posted on

I turned the cutout in the MacBook screen into a dynamic user interface element (DynamicNotch for macOS)

When Apple added notch to the MacBook, many people reacted the same way.:

He's there, and you just have to put up with him.

Unlike the iPhone, where Dynamic Island appeared and the notch became part of the interface, on macOS it still remains a passive element. It does not carry a functional load and does not interact with the user in any way.

I have a simple question:

what if we make the cutout part of the UI, not a limitation?

This is how the DynamicNotch project appeared.

Idea

The main idea is to stop thinking of the notch as a "hole in the screen" and start using it as an anchor point for the interface.

Instead of bypassing it, you can:

  • link visual elements to it
  • display contextual information
  • use it as a center for animations and states

In fact, this is an attempt to transfer the concept of a "live" cutout from iOS to macOS.

What does DynamicNotch do?

The application creates a dynamic area around the cutout that can:

  • Live Activity - The permanently displayed content of the cutout remains visible as long as the original event is active, and then disappears when it is completed.

  • Temporary Activity - temporary notifications remain visible for a certain period of time, which can be changed in the settings.

  • Widgets — display content on a locked screen, something that Apple has not done so far.

  • Settings — cutout settings, allow you to customize for yourself.

The technical side

The project is written in Swift using SwiftUI/AppKit.

The main difficulties turned out to be not in UI rendering, but in integration with macOS behavior:

  • correct positioning relative to the neckline

  • working with windows and layers on top of the system

  • synchronization with system events

In fact, this is an exploration of the boundaries of how deeply you can integrate into a system UI with a private API.

Conclusion

DynamicNotch is an attempt to rethink one of the most controversial elements of modern MacBooks and see if it can be made useful.

If you have any ideas, criticism, or thoughts on how to use the notch in macOS, it will be very interesting to discuss.

I would also be grateful if you put a star on GitHub.

GitHub logo jackson-storm / DynamicNotch

DynamicNotch is a macOS app that brings a Dynamic Island–style experience to Mac with a notch.

DynamicNotch logo

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, connectivity events, lock-screen transitions, and custom hardware HUDs

Join the Telegram channel Open the DynamicNotch website Send an email about DynamicNotch

GitHub downloads Latest release macOS 14.6 or later SwiftUI and AppKit Swift 5 License

DynamicNotch preview

✨ Why DynamicNotch

DynamicNotch treats the MacBook notch like a compact native surface instead of a static cutout. It stays close to the hardware shape until something important happens, then expands with queue-driven presentation, gesture support, and system-aware feature routing.

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.

🚀 Highlights

  • 🎵 Live activities for Now Playing, Downloads, AirDrop, Timer, Focus, Personal Hotspot, and Lock Screen media/live activity surfaces
  • ⚡ Temporary alerts for charging, low battery, full battery, Bluetooth, Wi-Fi, VPN, Focus-off, and notch resize feedback
  • 🎚️ Custom hardware HUD replacements…

Top comments (0)