Имеется ли программируемый доступ к панели управления сенсорной панели macOS?

Панель управления является статической и глобальной частью сенсорной панели macOS, которая всегда видна в любом контексте и приложении. Хотя Apple предоставляет полную документацию о том, как использовать API для предоставления контекстной области приложения в вашем приложении MacOS, я не смог найти никаких уведомлений о том, как добавить материал в Control Strip.

Я мог бы подумать о множестве хороших инструментов и действий, которые были бы хороши, если бы они всегда были под рукой, поэтому мне было интересно, сможем ли мы (разработчики) продвинуть Control Strip? Есть какая-то документация или кто-нибудь сам разбирается, как работать с элементами Control Strip?

2 ответа

Решение

На самом деле существует "частный недокументированный" API, который можно использовать, как вы можете увидеть, перейдя по ссылке в связанном комментарии к вашему вопросу (к этому вопросу). Следующий репозиторий GitHub предоставляет краткий, функциональный пример, выделяя их в качестве ключевых элементов:

DFRElementSetControlStripPresenceForIdentifier(NSString *, BOOL);
DFRSystemModalShowsCloseBoxWhenFrontMost(BOOL);

+[NSTouchBarItem addSystemTrayItem:]
+[NSTouchBar presentSystemModalFunctionBar:systemTrayItemIdentifier:]

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

Надеемся, что Apple сделает это законным для нас!

Нет общедоступного API или поддерживаемого способа добавления элементов в панель управления.

Другие вопросы по тегам