- PVSM.RU - https://www.pvsm.ru -
Когда Apple добавила вырез (notch) в MacBook, реакция у многих была примерно одинаковая:
он есть — и с ним приходится просто мириться.
В отличие от iPhone, где появился Dynamic Island и вырез стал частью интерфейса, на macOS он до сих пор остаётся пассивным элементом. Он не несёт функциональной нагрузки и никак не взаимодействует с пользователем.
У меня возник простой вопрос:
а что если сделать вырез частью UI, а не ограничением?
Так появился проект DynamicNotch.
Основная идея — перестать воспринимать вырез как «дыру в экране» и начать использовать его как якорную точку для интерфейса.
Вместо того чтобы обходить его стороной, можно:
привязать к нему визуальные элементы
отображать контекстную информацию
использовать его как центр для анимаций и состояний
Фактически, это попытка перенести концепцию «живого» выреза с iOS на macOS.
Приложение создаёт динамическую область вокруг выреза, которая может:
Live Activity - постоянно отображаемое содержимое выреза остается видимым до тех пор, пока активно исходное событие, а затем исчезает по его завершении.
Temporary Activity - временные уведомления остаются видимыми на определенный промежуток времени, который можно изменять в настройках.
Widgets — отображать контент на заблокированном экране, то, что Apple не сделала до сих пор.
Settings — настройки выреза, позволяют настраивать под себя.
Проект написан на Swift с использованием SwiftUI/AppKit.
Основные сложности оказались не в отрисовке UI, а в интеграции с поведением macOS:
корректное позиционирование относительно выреза
работа с окнами и слоями поверх системы
синхронизация с системными событиями
По сути, это исследование границ того, насколько глубоко можно встроиться в системный UI c приватным API.
DynamicNotch — это попытка переосмыслить один из самых спорных элементов современных MacBook и проверить, можно ли сделать его полезным.
Если у вас есть идеи, критика или мысли о том, как можно использовать вырез в macOS — будет очень интересно обсудить.
Также буду благодарен, если поставите звезду на GitHub.
Проект на GitHub [1]
Автор: Jackson-storm
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/macos/450007
Ссылки в тексте:
[1] Проект на GitHub: https://github.com/jackson-storm/DynamicNotch
[2] Источник: https://habr.com/ru/articles/1025350/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1025350
Нажмите здесь для печати.