惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
I
InfoQ
B
Blog RSS Feed
D
DataBreaches.Net
S
SegmentFault 最新的问题
P
Proofpoint News Feed
A
About on SuperTechFans
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
小众软件
小众软件
博客园 - Franky
有赞技术团队
有赞技术团队
D
Docker
T
Tailwind CSS Blog
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Blog — PlanetScale
Blog — PlanetScale
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog
V
Visual Studio Blog
宝玉的分享
宝玉的分享
爱范儿
爱范儿

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Я добавил на заблокированный экран macOS красивую обложку...
Jackson-stor · 2026-05-04 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение2 мин

Охват и читатели1.4K

Обзор

Продолжаю делать свое macOS приложение DynamicNotch. В последнем обновлении делал реализацию добавления обложки текущего воспроизведения на заблокированный экран.

Preview: Заблокированный экрна

Preview: Заблокированный экрна

История

Помните те времена, когда обложка трека на iPhone превращала экран блокировки в полноценный арт-объект? Apple убрала это в iOS 11, оставив лишь скучные виджеты, и вернула только спустя годы в iOS 16.

Обложка трека на iPhone

Обложка трека на iPhone

В iPadOS эта функция появилась с релизом iPadOS 16.

Обложка трека на iPad

Обложка трека на iPad

Но на macOS такой красоты до сих пор нет из коробки. Решил исправить эту несправедливость и принести эстетику iOS на Mac.

Идея

Эта идея пришла ко мне сразу, как только я начал реализовывать плеер на экране блокировки. Все идеи для DynamicNotch я напрямую беру с iPhone, чтобы это выглядело нативно и родным.

На iPhone, в плеере при нажатии на обложку трека она разворачивается на весь заблокированный экран, заменяя обои на цвета самой обложки, что выглядит очень красиво.

Такую же логику, анимацию перехода, я перенес и сюда, чтобы смотрелось это одинаково нативно.

Возможности

Сам задний фон по умолчанию анимированный, но в настройках можно изменить на обычный статичный, или убрать вовсе на черный.

Preview: Настройки LockScreen

Preview: Настройки LockScreen

Технические ограничения

Есть важные ограничения, которые ложатся на разработку. Технически Apple не дает разрешения на то, чтобы открывать свои окна на заблокированном экране. Однако это обходится хаком приватного API.

Но, из за того что, это так называемые "костыли", нашими окнами мы перекрываем сам UI от Apple(часы, строка входа, верхний меню-бар). Из за этого приходится добавлять свой UI.

Часы реализовать не проблема, а вот вернуть полноценную строку ввода пароля, это уже непосильно никому. Поэтому для MacBook доступ по отпечатку пальца не составит проблем, а для тех кому нужно вводить пароль придется скрывать обложку.

Дальнейшие планы

Что касается дальнейших план по заблокированному экрану, то планирую еще добавить кастомные виджеты, те что на iPhone и iPad.

Также добавить выбор показа обложки, например как на iPad c виджетами слева и обложкой на весь экран.

Если есть интересные идеи что можно еще добавить, буду рад почитать.

Заключения

В заключении скажу, что все еще реализация в проекте DynamicNotch, а не отдельная утилита. Если вам понравилась идея и реализация, буду рад если оцените звездой на GitHub.

Всем хорошего дня! ✌️